Integer 类型中的方法 valueOf(String) 不适用于参数 (int)

The method valueOf(String) in the type Integer is not applicable for the arguments (int)

我在 jdk1 中编译代码时遇到错误 The method valueOf(String) in the type Integer is not applicable for the arguments (int) 以下行.4(j2sdk1.4.1_05)。如果我在 jdk1.6.0_14 中编译相同的代码,代码工作正常。

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

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

注意:这是预先编写的代码。需要您对代码更改的建议并正确编译它。

There was no such method in Java 4.

There was such a method in Java 6.

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

你应该试试:

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

对于 Java 1.4,我认为您需要像

这样的 Integer(int) 构造函数
offMap.put("price", new Integer(offer.getPrice()));

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

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

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

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

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