java - 如何消除Spring Java中的类转换异常?

标签 java spring spring-el

我编写了使用 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/

相关文章:

java - 使用 onClickListener 将我带到另一个 XML 文件

java - 重新填充表单上的数据库驱动文本框

java - 我可以使用 Java 中的哪个接口(interface)来存储唯一对象?

java - 在Java中获取系统环境['HOSTNAME']

java - 使用插件扩展 Java Web 应用程序

java - 组织.postgresql.util.PSQLException : No value specified for parameter 1

java - @Transactional 在@Service 中不起作用

java - Spring和synchronized方法保证特定数量的方法同时执行

java - Spring 应用程序错误: EL1008E

java - Spring 表达式语言 - 是否可以在 SEL 中使用#this