1

我收到一个错误当我在 jdk1.4(j2sdk1.4.1_05) 中编译代码时,Integer 类型中的方法 valueOf(String) 不适用于以下行的参数 (int )。如果我在 jdk1.6.0_14 中编译相同的代码,代码可以正常工作。

HashMap offMap = new HashMap(); offMap.put("price", Integer.valueOf(offer.getPrice()));

我的问题是为什么这段代码在 jdk1.4 而不是 jdk1.6 中编译时会出错。有什么建议可以编译吗?

注意:这是预先编写的代码。需要您对代码更改的建议,并在没有错误的情况下对其进行编译。

4

4 回答 4

6

Java 4 中没有这样的方法。

Java 6 中有这样的方法。

于 2015-01-12T06:03:09.523 回答
2

因为在更高版本的 Java 中,Integer 类有一个方法valueOf(int)

你应该试试:

offMap.put("price", new Integer(offer.getPrice()));
于 2015-01-12T06:03:51.787 回答
2

对于 Java 1.4,我认为您需要Integer(int)像这样的构造函数

offMap.put("price", new Integer(offer.getPrice()));

Integer.valueOf(int)在 Java 1.4 中不可用(Javadoc 说它是在 Java 1.5 中添加的)。

于 2015-01-12T06:04:00.117 回答
1

无论“offer.getPrice()”中的值是什么,它都不应该在字符串中,如果是这样,它会像你上面提到的那样显示错误

所以你应该试试下面的代码

offMap.put("price", Integer.parseInt(offer.getPrice().toString()));

或者

offMap.put("price", Integer.valueOf(offer.getPrice().toString()));

于 2018-10-09T07:04:47.187 回答