【问题标题】:java.lang.String cannot be cast to java.lang.Integer JAVA Hibernatejava.lang.String 不能转换为 java.lang.Integer JAVA Hibernate
【发布时间】:2020-10-05 01:56:16
【问题描述】:

像这样将我的集合提交到数据库后出现错误

java.lang.String cannot be cast to java.lang.Integer

而且,我不知道要将此列表解析为整数

carFamilySelectList = new ArrayList<SelectItem>();
        List<CarFamily> carFamilyList = carFamilyServiceImpl.selectCarFamilyIdList();
        carFamilySelectList.add(new SelectItem("", "Select one"));
        for(CarFamily  as : carFamilyList) {
            carFamilySelectList.add(new SelectItem(as.getCarFamilyId(), as.getCarFamilyName()));
        }

请帮忙!

【问题讨论】:

  • 谷歌搜索“Java 如何将字符串解析为 int”获得了很多点击。一种方法是Integer.parseInt(String)

标签: java hibernate primefaces dao


【解决方案1】:

如果没有数据库中的哪一行代码(?)抛出异常,很难确定,但我猜原因是导致问题的第一个列表条目:

carFamilySelectList.add(new SelectItem("", "Select one"));

我假设 CarFamily.getCarFamilyId() 返回一个 int,并且 SelectItem.getValue() 的返回值在某处被强制转换为 Integer?第一个列表条目是SelectItem,其值为空字符串。尝试改用 0(或 -1 或其他):

carFamilySelectList.add(new SelectItem(0, "Select one"));

但将来,请在您的问题中包含更多相关信息(引发异常的行,以及至少与您的问题相关的自定义类中的方法的签名......比如 getCarFamilyId() 在这个案例)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2014-08-29
    相关资源
    最近更新 更多