整数+;Java1.4中的整数
为什么在Java 1.7中,这段代码运行良好,但在Java 1.4中,我有一个错误:整数+;Java1.4中的整数,java,Java,为什么在Java 1.7中,这段代码运行良好,但在Java 1.4中,我有一个错误: Integer i1 = new Integer(10); Integer i2 = new Integer(20); Integer i3 = i1+i2; 这是自动装箱问题,还是在java 1.7中为整数定义了运算符“+” 那么如何在java 1.4中执行Integer+Integer?java 1.4没有Integer变量的自动装箱。这在Java1.5中出现 看 在此之前,您必须执行以下操作: The
Integer i1 = new Integer(10);
Integer i2 = new Integer(20);
Integer i3 = i1+i2;
这是自动装箱问题,还是在java 1.7中为整数定义了运算符“+”
那么如何在java 1.4中执行Integer+Integer?java 1.4没有
Integer
变量的自动装箱。这在Java1.5中出现
看
在此之前,您必须执行以下操作:
The operator + is undefined for the argument type(s) java.lang.Integer, java.lang.Integer
因为自动装箱和取消装箱是从中引入的。Java1.4无法理解这种语法 如何继续整数+整数 您需要使用获取基元
int
,然后对基元值进行加法。在1.4中没有。在1.7中是这样的
你想要的是:
Integer i1 = new Integer(10);
Integer i2 = new Integer(20);
Integer i3 = new Integer(i1.intValue() + i2.intValue());
自动装箱/取消装箱由javac完成。如果我们反编译.class,我们将看到这是如何完成的:
int i3 = i1.intValue() + i2.intValue();
讨论1.4需要做什么。伙计,你需要升级。。。。JRE版本。为什么不直接使用int而不是Integer?自动装箱和取消装箱;)@jjhavokk:更新的答案。谢谢
Integer i1 = new Integer(10);
Integer i2 = new Integer(20);
Integer i3 = Integer.valueOf(i1.intValue() + i2.intValue());