1.?package?com.lovo;??2.???3.?public?class?StringEqualTest?{??4.???5.?????public?static?void?main(String[]?args)?{??6.?????????String?a?=?"Programming";??7.?????????String?b?=?new?String("Programming");??8.?????????String?c?=?"Program"?+?"ming";??9.???????????10.?????????System.out.println(a?==?b);??11.?????????System.out.println(a?==?c);??12.?????????System.out.println(a.equals(b));??13.?????????System.out.println(a.equals(c));??14.?????????System.out.println(a.intern()?==?b.intern());??15.?????}??16.?}???
1 回答

管理員
TA貢獻11條經(jīng)驗 獲得超2個贊
這是我見過最無聊的問題:研究這個吧時間都浪費了,看一眼JRE source文件全都能明白,面向?qū)ο笏枷氲恼莆詹攀亲钪饕摹?br />
String?a?=?"Programming"; ?//從String池里拿 地址 賦值給a(如果沒有創(chuàng)建新對象)
String?b?=?new?String("Programming"); ?//不管String池,直接創(chuàng)建新對象
--------------------------
關于==和equals()
==:比較地址
equal:判斷.equals()方法返回值為 正、負、0;
.intern(),比較String池里的地址
添加回答
舉報
0/150
提交
取消