Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
整数+;Java1.4中的整数_Java - Fatal编程技术网

整数+;Java1.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

为什么在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 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());