Integer 直接给变量赋值与用new赋值有什么不同?解决方案
Integer 直接给变量赋值与用new赋值有什么不同?如题,得出的结果是一样的。import java.util.*public class
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