false
true
true
false
true
true
false
解决方案 »
- 如何实现 :关闭任务管理器中javaw.exe线程的同时,删除一个文件
- 求:用按钮调用两个不同的js脚本
- 应该要多少工资?(在先等待)
- 这个问题想问很久了
- 数据库查询,巨不解的问题。
- java的编译器有哪些????
- 数据库的问题pqds快来
- 请教:如何在自己的java程序中引用自定义的包(只有*.class,无*.java)
- vj++打开Form1.java的时候,出现错误:"java.lang.IllegalAccessError: com/ms/wfc/util/Debug$Switch"
- 怎样注册Jbuilder6.0,多谢
- 请教,关于IO的FileInputStream的疑惑?谢谢。
- java垃圾回收问题
private IntegerCache(){} static final Integer cache[] = new Integer[-(-128) + 127 + 1]; static {
for(int i = 0; i < cache.length; i++)
cache[i] = new Integer(i - 128);
}
}public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
true
true
false
Integer A, B;
A = new Integer(10);
B = new Integer(10);
boolean test1 = (A == B);
System.out.println(test1);
////////////////////////////////////////////
A = 127;
B = 127;
boolean test3 = (A == B);
System.out.println(test3);
////////////////////////////////////////////
A = 128;
B = 128;
boolean test4 = (A == B);
System.out.println(test4);
////////////////////////////////////////////
int AA = 128;
int BB = 128;
boolean test5 = (AA == BB);
System.out.println(test5);
////////////////////////////////////////////
boolean test2 = (A > B || A == B || A < B);
这里的A == B应该是比较是否指向同一个引用的
我也倒了,被这几个符号迷惑了
==比的是内存地址。 而“<”“>”比较的是值,而不是内存地址.test3 4 要看5楼的了,好题目额……
对于int来说,==比较的是值。
A = new Integer(1024);
B = new Integer(1024);
很显然,A和B不是同一个对象。如果是这样:
A = 128;
B = 128;
则与:
A = 1000;
B = 1000;
效果相同,不是同一个对象。==不成立。但是如果是这样:
A = 127;
B = 127;
则与:
A = 1;
B = 1;
效果相同,是同一个对象。==成立。
> 、<适用于数值之间的比较,而==即可用于比较数值简直是否相等也可用于判断对象是否引用同一个对象。
所以:
boolean test1 = (A > B || A == B || A < B);
应该被翻译为:
boolean test1 = (A.intValue > B.intValue || A == B || A.intValue < B.intValue);
其间因为> 、<适用于数值之间的比较,所以自动进行了拆箱.至于第三条为什么为true大家
应该已经都清楚了
Integer a = 1000;
Integer b = 1000;
if(a == b)... 但是Java实现却有可能让它成立:(将1000改为100)Java代码
Integer a = 100;
Integer b = 100;
if(a == b)... 这是为什么呢? 原来在此处涉及自动打包操作,将int类型自动打包成Integer类型。而自动打包规范要求boolean,byte,char<=127,介于-128~127之间的short和int被包装到固定的对象中,即同一内存区域 。 为避免此类问题,建议使用equals方法比较对象是否相等,而不是用==运算符比较对象是否相同