我知道,如果你将盒装原始Integer与常量进行比较,例如:
Integer a = 4;
if (a < 5)
Run Code Online (Sandbox Code Playgroud)
a 将自动取消装箱,比较将起作用.
但是,当您比较两个盒装Integers并希望比较相等或小于/大于?时会发生什么?
Integer a = 4;
Integer b = 5;
if (a == b)
Run Code Online (Sandbox Code Playgroud)
以上代码是否会导致检查它们是否是同一个对象,还是会在这种情况下自动取消装箱?
关于什么:
Integer a = 4;
Integer b = 5;
if (a < b)
Run Code Online (Sandbox Code Playgroud)
?
以下代码,
private boolean compare(Object a, int b) {
return a == b;
}
Run Code Online (Sandbox Code Playgroud)
在Java 7中编译,但它导致Java 8中出现以下错误:
无与伦比的类型:int和Object
看看以下问题:
这似乎像Java 6和Java 8,不要让你比较int和Object,而7一样.有没有这方面的文件?
我对通知这些决定的背景知识很感兴趣.看起来他们还没有决定.
我正在使用IntelliJ IDEA 14.1.4和JDK 1.7.0.51.