Integer 直接给变量赋值与用new赋值有什么不同?
如题,得出的结果是一样的。
import java.util.*;
public class Test
{
public static void main(String [] args)
{
Integer x = 10;
Integer y = new Integer(10);
System.out.println(x);
System.out.println(y);
}
}
------解决方案--------------------一个是值引用,那就是Integer,赋的是值。而一个是对象引用,他赋的是一个地址。
------解决方案--------------------和String直接赋值和new String是一个道理
new的话 浪费内存
------解决方案--------------------
public static void main(String[] args) {
Integer i1=10;
Integer i2=10;
Integer i3=new Integer(10);
Integer i4=128;
Integer i5=128;
System.out.println(i1==i2);//true
System.out.println(i1==i3);//false
System.out.println(i4==i5);//false
}
1楼什么都不懂,不要看
Integer x = 10;//自动装箱,如果在-128到127之间,则值存在常量池中
Integer y = new Integer(10);//普通的堆中的对象
------解决方案--------------------第一个进行了自动装箱操作,跟第二个是一样的,所以两个都一样
------解决方案--------------------
+1