好的,我真的不知道发生了什么
这是代码
List<Long> idProviders = form.getIdProviders();
for(Long idProvider: idProviders){...}
在foreach期间我有这个例外
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
我无法弄清楚为什么会发生这种情况。 堆栈溢出有一个类似的问题,但没有答案。有人有想法吗?
答案 0 :(得分:2)
这是一个可以解释您所看到的异常的场景。这是因为将原始List
传递给setIdProviders
:
List raw = new ArrayList();
raw.add ("some string");
YourFormClass form = new YourFormClass ();
form.setIdProviders (raw);
...
List<Long> idProviders = form.getIdProviders();
for(Long idProvider: idProviders) { // here an attempt is made to cast a String
// to a Long leading to ClassCastException
....
}