亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不等號的問題

不等號的問題

慕粉3233872 2016-11-25 15:09:02
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 回答

?
幕布斯1828393

TA貢獻5條經驗 獲得超1個贊

具體數字的比較和其他類型的比較問題;一般除非你非常明確比較的是數字才吃用=做比較,否則使用equals方法。

查看完整回答
反對 回復 2016-11-26
?
望遠

TA貢獻1017條經驗 獲得超1032個贊

int?a?=?list.get(i);
int?b?=?list.get(list.size()-1-i);//get()方法返回的是一個Integer對象,這里有一個自動拆箱的過程,之后比較a!=b就是比較兩個數值
if(list.get(i)!=list.get(list.size()-1-i))//這里是直接用!=比較兩個Integer對象是不行的,要用equals()方法
if(!list.get(i).equals(list.get(list.size()-1-i)))//改成這樣就行


查看完整回答
反對 回復 2016-11-25
?
Kamey

TA貢獻20條經驗 獲得超4個贊

a!=b是int基本類型比較,上面那句是Integer對象比較,不一樣,所以上面那個是FALSE、

查看完整回答
反對 回復 2016-11-25
  • 2 回答
  • 0 關注
  • 1896 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號