【问题标题】:Issue converting java.lang.object to Integer将 java.lang.object 转换为 Integer 的问题
【发布时间】:2014-09-26 07:49:06
【问题描述】:

您好,我正在使用 spring mvc 和 hibernate 开发一个 java web 项目。我在 carList 中有一个汽车列表。现在我想检索每辆车的车型。所以我初始化了另一个列表carType。然后循环进入 carList 并将汽车类型附加到 carType 列表中。当我在 carType 中输出值存储时,它给出 [Ljava.lang.Object;@255a8ce4.有人能帮我吗?列表的类型应该是对象。因为我将此列表发送到 birt 报告以显示为 pdf。

List<Object> carList=getCarService().retrieveAllCarsAssignedToManagers(CarNo, DeptNo);

    List<Object> carType = new ArrayList<Object> ();
    for (Object carLists:carList) {
         carType.add(getcarService().retrieveAllCarType(Integer.valueOf(carLists.toString())));

    }
    for (int i = 0;i < carType.size(); i++) {
        System.out.println("Cars:  " + carType.get(i));
    }

【问题讨论】:

  • 你能解释一下retrieveAllCarType的返回类型是什么吗?
  • Integer.parseInt(String) 而不是 valueOf。
  • 即使是用于猜测的信息也非常少。请提供更多信息。
  • @Jens 的retrieveAllCarType 返回类型是List
  • 所以你调用了 List 的 to String 方法。认为您需要使用 addAll 而不是 add

标签: java spring hibernate primefaces birt


【解决方案1】:

您得到Ljava.lang.Object;@255a8ce4.,因为您的方法retrieveAllCarType 返回一个数组或列表,而不是您所期望的。当您将列表放入 System.out.print 时,它会在内部调用该列表的 toString 方法。列表的类没有实现 toString 方法,所以你得到默认的 toString 输出。

试试System.out.println(java.util.Arrays.toString(carType.get(i).toArray()));

【讨论】:

  • retrieveAllCartype的返回类型是List
【解决方案2】:

1) 你定义了List&lt;Object&gt; carType,这里的对象表示列表可以包含所有内容,包括集合(如ListMap等)。

根据您的代码,您应该将整数汽车类型放入列表,但您将List&lt;Object&gt; 放入List&lt;Object&gt;,那么列表汽车类型中的元素是List&lt;Object&gt;。所以当你打电话时

carType.get(i)

它返回一个列表!

如果你可以确认carType是一个数字,你可以将carType定义为List&lt;Integer&gt;,那么你永远不能把List放到carType中,carType中只允许使用Intergers。

2)sysout 一个对象会调用他默认的toString(),你的输出是默认的toString() List 类型。它输出类名和哈希码。

【讨论】:

    【解决方案3】:

    您提供的信息太少,无法在代码中找到确切的问题。 但我通过接受你的代码和问题来分析它。有一个错误发生在

    Integer.valueOf(carLists.toString()).
    

    列表包含任何类型的信息,例如任何类型的对象(String, List, Map, Set),并且您正在尝试将该列表转换为整数。您应该尝试删除 Integer.valueOf() 并检查列表包含的内容。

    【讨论】:

      【解决方案4】:

      感谢您的帮助。我真的很感激。设法使用 addAll 而不是 add 来解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-09
        • 2011-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多