两个Integer变量a和b,值相等,a==b等于多少?

Integer a = Integer.valueOf(127);
Integer b = Integer.valueOf(127);
 
Integer c = Integer.valueOf(128);
Integer d = Integer.valueOf(128);
 
System.out.println(a == b);
System.out.println(c == d);
 
结果:
true
false
 
原因:
两个Integer变量a和b,值相等,a==b等于多少?
Integer类已经对数字0-127做了一个缓存,创建0-127这些常用整数类型是直接从缓存中调引用,所以是true,而超过127则是创建新的对象,所以内存地址的引用不一致,故是false。
上一篇:OpenGL学习进程(8)第六课:点、边和图形(三)绘制图形


下一篇:在Android中使用OpenGL ES进行开发第(三)节:绘制图形