作者fcj4 (不多话的小孩)
站内java
标题[J2SE] equals问题
时间Wed Jan 2 20:16:32 2008
我还是个新手,当书介绍到equals的部份时
有个两个范例
范例一:
Integer i=12345;
Integer i2=12345;
System.out.println(i==i2);
System.out.println(i.equals(i2));
执行後为false和true,因为i跟i2代表不同Integer物件,但两个物件均为12345‧
但范例二:
Integer i=123;
Integer i2=123;
System.out.println(i==i2);
System,.out.println(i.equals(i2));
执行後为true和true,i跟i2代表相同Integer物件‧
但是我的问题是,只是把45删掉,为什麽就变成一个是false,一个true呢?
可以帮我解答一下吗?这两个我看了好久都看不出所以然?
--
真是温暖在心头‧甜在心馒头
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.134.2
1F:推 tkcn:Constant Pool, 在 -128~127 之间的值只会存在一份 01/02 20:24