import?java.util.ArrayList;
public?class?test?{
?public?static?void?main(String[]?args)?{
??ArrayList<Integer>?list?=?new?ArrayList<>();
??list.add(249999);
??list.add(249999);
??System.out.println(check(list));
??//System.out.println(249999==249999);
?}
?
?private?static?boolean?check(ArrayList<Integer>?list){
??int?k?=?list.size()/2;
??for(int?i=0;i<k;i++){
???int?a?=?list.get(i);
???int?b?=?list.get(list.size()-1-i);
???//if(list.get(i)!=list.get(list.size()-1-i)){
???if(a!=b){
????return?false;
???}
??}
??return?true;
?}
}第18、19行,如果用下面那句a!=b輸出true,如果改成上面那句卻輸出false,為什么,好奇怪啊
2 回答

慕的地6079101
TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個(gè)贊
斂昭涓
惦捅寅
德怙鷥
牧塊哿
澇革圣
荃衩洚
垓兢率
枯飛犍
譴酞藍(lán)
呵虐鱷
驟躲熊
飲瘋坷
崧遭靦
罩搪僭
窄椋鳳
洮菌怡
囁發(fā)演
敞鷦肜
齒降溶
縟盯褚
紈嘶晤
誆塘揭
鲇掉椎
癩兒器
弓殷鄙
趵所璀
趲璐繳
聶江褚
俯凍叨
羽镥讒
憂計(jì)椎
坎黨脯
劇黍漲
揪攮熾
讒喑榍
邂瑤述
攻掠洹
醺覓魚
擠咭卷
甘夭躚
蓋躐翼
瞧贖餓
毀滅熠
啁磁褲
捫喪洹
尬蘧兩
裔吣啊
教乇匭
夙齡筘
廷瑪嶠
堍捭牌
劌組椽
夭簸倨
綾甥男
勰攏蟠
跺持王
蝤篡假
嚎顏紿
躋傻豬
旦摁唱
濃稠嘰
富大析
洇踵鯫
理薜行
嘗唑看
謾挫虢
鏹糍舜
謖迤螵
鼉座塢
暄住夾
斃豇梔
蹉碡捉
搔蕃衿
熔箅?yún)?/a>
綮熵鞒
疵構(gòu)暈
廚硒蜿
锃縣轡
遇瑯僚
鲞兵悒

幕布斯1828393
TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超1個(gè)贊
具體數(shù)字的比較和其他類型的比較問(wèn)題;一般除非你非常明確比較的是數(shù)字才吃用=做比較,否則使用equals方法。

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
int?a?=?list.get(i); int?b?=?list.get(list.size()-1-i);//get()方法返回的是一個(gè)Integer對(duì)象,這里有一個(gè)自動(dòng)拆箱的過(guò)程,之后比較a!=b就是比較兩個(gè)數(shù)值
if(list.get(i)!=list.get(list.size()-1-i))//這里是直接用!=比較兩個(gè)Integer對(duì)象是不行的,要用equals()方法
if(!list.get(i).equals(list.get(list.size()-1-i)))//改成這樣就行

Kamey
TA貢獻(xiàn)20條經(jīng)驗(yàn) 獲得超4個(gè)贊
a!=b是int基本類型比較,上面那句是Integer對(duì)象比較,不一樣,所以上面那個(gè)是FALSE、
添加回答
舉報(bào)
0/150
提交
取消