編譯代碼時我得到了上述異常。該代碼是:類轉換異常:java.lang.ClassCastException:java.util.ArrayList不能轉換爲java.lang.Long
IPAMEmailManagerBean.java-
DAOFactory daoFactory = DAOFactory.getInstance();
PropertyDAO propertyDAO = (PropertyDAO) daoFactory.getDAO("org.hc.cbl.dao.property.PropertyDAO");
StringBuilder aaCategoryCode = new StringBuilder();
PropertyAACategoryCodesTO propertyAACategoryCodesTO = null;
List<String> ahrCategoryCodeList = new ArrayList<String>(Arrays.asList(applicantSavedSearchTO.getAccHousingCatIdStr().split(",")));
List<Long> list = new ArrayList<Long>();
for (String s : ahrCategoryCodeList)
list.add(Long.valueOf(s));
System.out.println(list);
List list1 = propertyDAO.findAHRCategoryCodesByPartnerIdAndCodeList1(applicantSavedSearchTO.getPartnerId(), list); //This line showing class cast exception java.util.ArrayList cannot be cast to java.lang.Long
if(list1!=null){
for(int i=0;i<list1.size();i++){
propertyAACategoryCodesTO=(PropertyAACategoryCodesTO)list1.get(i);
aaCategoryCode.append(propertyAACategoryCodesTO.getAaCategoryCodeDesc()+",");
}
}
}
PropertyDAO.java-
public List findAHRCategoryCodesByPartnerIdAndCodeList1(Long partnerId, List strAHRCategoryCode)throws CBLException {
List AHRCategoryCodesList = null;
try {
log.debug("Entering PropertyAACategoryCodeDAO public List findAHRCategoryCodesByPartnerIdAndCodeList()throws CBLException");
Query query = HibernateUtil.getSession().createQuery("from PropertyAACategoryCodesTO as propertyAACategoryCodesTO "
+ "where propertyAACategoryCodesTO.partnerTO.partnerId=:partnerId and propertyAACategoryCodesTO.aaCategoryId "
+ "in(:strPropertyTypes) order by propertyAACategoryCodesTO.aaCategoryCodeDesc asc");
query.setLong("partnerId",partnerId);
query.setParameter("strPropertyTypes", strAHRCategoryCode);
query.setCacheable(true);
AHRCategoryCodesList=query.list();
HibernateUtil.commitTransaction();
HibernateUtil.closeSession();
} catch (Exception ce) {
ce.printStackTrace();
}
log.debug("Exit PropertyAACategoryCodeDAO public List findAHRCategoryCodesByPartnerIdAndCodeList()throws CBLException");
return AHRCategoryCodesList;
}
我已經投,只要在列表值,因此可能是什麼原因吧。提前致謝。
您是否認真對待您的縮進..我從來沒有見過這麼糟糕 – azro
查看此方法的返回類型propertyDAO.findAHRCategoryCodesByPartnerIdAndCodeList1(applicantSavedSearchTO.getPartnerId(),list); –
*我已經將列表值轉換爲長時間,所以可能是什麼原因*錯誤消息非常明確'java.util.ArrayList不能轉換爲java.lang.Long'。你不能做這個演員。 – Guy