0

我正在使用 maven 3.0.5 和 JDK 1.7.0_17。当我使用 mvn install 运行 maven 时,我在很多地方都会出现以下错误,无论转换发生在哪里,并且在 JBoss 中它显示为警告。

[错误] \Workspace\my-app\src\controller\ChangeNoterController.java:[159,43] 错误:不可转换的类型

上面一行的代码是:

                    if (resultMap != null) {
        changeNoteList = (List<ChangeNoter>) resultMap.get("changeNoterList");
        changeNoteListSize = (int) resultMap.get("changeNoterListSize");        --error
    }

我在 Maven 中得到相同的“不可转换类型”错误,无论这种转换发生在 java 中,这在 Java 中显示为警告。

如果有人在这方面帮助我,我将不胜感激。提前致谢。

4

2 回答 2

0

是什么resultMap?可能resultMap包含一些没有特定类型的对象,例如:Map<String, Object>.

1)当您尝试解析整数时,请尝试以下方法之一:

  • Integer newValue = (Integer) resultMap.get("changeNoterListSize").toString();

  • Integer newValue = Integer.parseInt(resultMap.get("changeNoterListSize").toString());

当您从 String 转换为 Int 时,Maven 总是工作得更好

2)转换为列表List<ChangeNoter>可能会很棘手,在这种情况下尝试循环resultMap.get("changeNoterList")并逐个添加项目new List<>();

于 2013-07-16T09:55:06.613 回答
0

由于该方法Map.get(Object)返回一个对象,因此无法将对象转换为int. 尝试将对象转换为整数。这是片段,

changeNoteListSize = (Integer) resultMap.get("changeNoterListSize");
于 2013-07-16T10:38:06.417 回答