java包装类问题public static void main(String[] args){\x09\x09\x09
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 03:46:26
java包装类问题
public static void main(String[] args){\x09\x09
\x09\x09Integer i1=1;
\x09\x09Integer i2=1;\x09
\x09\x09System.out.println("i1="+i1);
\x09\x09System.out.println("i2="+i2);
\x09\x09System.out.println(i1==i2);
\x09\x09
\x09\x09Integer i3=128;
\x09\x09Integer i4=128;\x09
\x09\x09System.out.println("i3="+i3);
\x09\x09System.out.println("i4="+i4);
\x09\x09System.out.println(i3==i4);\x09
\x09\x09
\x09}
为什么i1,i2值都是1,输出是true,而i3,i4的值都是128,输出时false?事关包装类,各种不懂
public static void main(String[] args){\x09\x09
\x09\x09Integer i1=1;
\x09\x09Integer i2=1;\x09
\x09\x09System.out.println("i1="+i1);
\x09\x09System.out.println("i2="+i2);
\x09\x09System.out.println(i1==i2);
\x09\x09
\x09\x09Integer i3=128;
\x09\x09Integer i4=128;\x09
\x09\x09System.out.println("i3="+i3);
\x09\x09System.out.println("i4="+i4);
\x09\x09System.out.println(i3==i4);\x09
\x09\x09
\x09}
为什么i1,i2值都是1,输出是true,而i3,i4的值都是128,输出时false?事关包装类,各种不懂
==是用来比较两个基本数据类型的变量值是否相等,==也用于判断两个对象引用名称是否参考至同一个对象.在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用(就是说内存指向相同).
所以造成 System.out.println(i1==i2); 输出true
如果超过了从–128到127之间的值,被装箱后的Integer对象并
不会被重用(指向了新的内存地址),即相当于每次装箱时都新建一个Integer对象
所以System.out.println(i3==i4); 输出false
总结:–128到127之间的值内存空间引用的是同一个地址,超出则存在新的内存空间
所以造成 System.out.println(i1==i2); 输出true
如果超过了从–128到127之间的值,被装箱后的Integer对象并
不会被重用(指向了新的内存地址),即相当于每次装箱时都新建一个Integer对象
所以System.out.println(i3==i4); 输出false
总结:–128到127之间的值内存空间引用的是同一个地址,超出则存在新的内存空间
public static void main(String[] args) {
public class Foo { public static void main(String[] args) {
public class Test{ public static void main(String args[]){ i
static void Main(string[] args)
java 九九乘法表public class s99{public static void main(String[]
C语言循环问题求解释#includeint main(void){\x09int i1, j1, n1;\x09\x09
\x09\x09\x091、\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x
class Demo{public static void main (String[]args){int x = 6;
yield()的用法class A{public static void main(String[] args){ B
1过程是怎么样的呀public static void main(String[] args) {\x05int[] x
public class SystemTest { public static void main(String[] a
public class Test { public static void main(String[] agrs) {