我不知道为什么这些代码行返回不同的值:
System.out.println(Integer.valueOf("127")==Integer.valueOf("127"));
System.out.println(Integer.valueOf("128")==Integer.valueOf("128"));
System.out.println(Integer.parseInt("128")==Integer.valueOf("128"));
输出为:
true
false
true
为什么第一个返回true
,第二个返回false
?有什么不同,我不知道之间127
和128
?(我当然知道127
< 128
。)
另外,为什么第三个返回true
?
我已经阅读了这个问题的答案,但是我仍然没有知道它如何返回true
,以及为什么第二行中的代码返回false
。
.equals()
,否则所有选择均不适用。