我编写了使用 spring util 命名空间的代码。 我有一个名为 City 的类,具有以下属性:
private List<String> name;
private List<String> state;
private List<Integer> population;
//setter and getter methods go here ...
我将应用程序上下文配置为:
<util:list id="cities" list-class="java.util.ArrayList">
p:name="chennai" p:state="tamilnadu" p:population="2000000"/>
<bean class="com.example2.City"
p:name="bang" p:state="karnataka" p:population="3000000"/>
</util:list>
当我运行该应用程序时,出现以下错误:
Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.example2.City
有人能帮我吗?谢谢。
最佳答案
我认为你错了City
类定义。为什么一个城市必须有一个名称列表和一个人口数量列表?
我认为City
应该看起来更像:
public class City {
private String name;
private String state;
private String population;
//accessors
}
在这种情况下,<util:list>
应该看起来像:
<util:list id="cities" list-class="java.util.ArrayList">
<bean class="com.example2.City"
p:name="bang"
p:state="karnataka"
p:population="3000000"/>
<bean class="com.example2.City"
p:name="chennai"
p:state="tamilnadu"
p:population="2000000"/>
</util:list>
您将获得两个城市的列表。
关于java - 如何消除Spring Java中的类转换异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22008505/