1. ホーム
  2. java

[解決済み] java.math.BigInteger は java.lang.Long にキャストできません。

2022-02-17 06:49:52

質問

私は List<Long> dynamics . そして、最大結果を得るには Collections . これは私のコードです。

List<Long> dynamics=spyPathService.getDynamics();
        Long max=((Long)Collections.max(dynamics)).longValue(); 

これは私の getDynamics :

public List<Long> getDynamics() {

        Session session = null;

        session = this.sessionFactory.getCurrentSession();
        Query query = session
                .createSQLQuery("SELECT COUNT(*) FROM SpyPath WHERE DATE(time)>=DATE_SUB(CURDATE(),INTERVAL 6 DAY) GROUP BY DATE(time) ORDER BY time;");

        List<Long> result = query.list();
        return result;

    }

今、私は java.math.BigInteger cannot be cast to java.lang.Long どうしたんですか?

どのように解決するのですか?

エラーはこの行にある可能性があります。

List<Long> result = query.list();

query.list() が Long list の代わりに BigInteger List を返しているところ。に変えてみてください。

List<BigInteger> result = query.list();