1. ホーム
  2. java

[解決済み] java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできない(java 1.6

2022-02-25 22:47:33

質問

キャスティングしている私でも Object をint型に変換すると、この例外が発生します...

実は、私のHibernate-JPAのメソッドが返したのは Object を変換しています。 Objectint ...

以下は、私のHibernateのコードです。

@Transactional
public Object getAttendanceList(User user){

    Query query = entityManager.createQuery("select Count(ad) from AttendanceDemo ad inner join ad.attendee at  where at.user=:user",
            Long.class);
    query.setParameter("user", user);
    return query.getSingleResult();
}

今、私はこの Object として int :

int k = (Integer) userService.getAttendanceList(currentUser);

を変換しています。 Object から Integer .

解決方法は?

使用する。

((Long) userService.getAttendanceList(currentUser)).intValue();

の代わりに

は、その .intValue() メソッドは、クラス Number は、どの Long を拡張します。