黑马程序员技术交流社区

标题: 常量在内存中存储的问题 [打印本页]

作者: 莫莫莫    时间: 2016-7-25 14:39
标题: 常量在内存中存储的问题
Integer i1=1;
  Integer i2=1;
  i1++;
  System.out.println(i1+"...."+i2);
i1和i2指向的是常量池中的同一个内存空间,那么i1++之后,i2打印的值为什么还是1
还有基本数据类型的
int  i1=1;
int  i2=i;
关于他们在内存中的问题,有木有大神给讲一下,这点儿我这有点糊涂!?

作者: 莫莫莫    时间: 2016-7-25 15:12
有木有人呢!!!!!!
作者: GCT    时间: 2016-7-25 17:11
Integer  i1=1,其实java是这样运行的Integer   i1=new  Integer(1),这里涉及自动装箱,然后再指向常量池,i1++,i1变为二,常量池中没有,所以在常量池创建一个2,i1与i2没有关系,它们只是指向同一个常量而已




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2