第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

正確地從List <Integer>中刪除整數

正確地從List <Integer>中刪除整數

桃花長相依 2019-12-20 11:14:55
正確地從List <Integer>中刪除整數這是我剛剛遇到的一個很好的陷阱??紤]一個整數列表:List<Integer> list = new ArrayList<Integer>();list.add(5);list.add(6);list.add(7);list.add(1);對你執(zhí)行時會發(fā)生什么的任何有根據的猜測list.remove(1)?怎么樣list.remove(new Integer(1))?這可能會導致一些令人討厭的錯誤。在處理整數列表時,區(qū)分remove(int index)哪個元素從給定索引remove(Object o)中刪除元素以及通過引用刪除元素的正確方法是什么?這里要考慮的要點是提到的@Nikita - 精確參數匹配優(yōu)先于自動裝箱。
查看完整描述

3 回答

?
守著一只汪

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

Java總是調用最適合您的參數的方法。僅當沒有可以在沒有強制/自動裝箱的情況下調用的方法時,才會執(zhí)行自動裝箱和隱式向上轉換。

List接口指定了兩個remove方法(請注意參數的命名):

  • remove(Object o)

  • remove(int index)

這意味著list.remove(1)刪除位置1處的對象并remove(new Integer(1))從此列表中刪除指定元素的第一個匹配項。



查看完整回答
反對 回復 2019-12-21
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

你可以使用鑄造

list.remove((int) n);

list.remove((Integer) n);

如果n是int或Integer并不重要,該方法將始終調用您期望的那個。

使用(Integer) nInteger.valueOf(n)new Integer(n)前兩個更有效可以使用Integer緩存,而后者將始終創(chuàng)建一個對象。



查看完整回答
反對 回復 2019-12-21
?
MM們

TA貢獻1886條經驗 獲得超2個贊

我不知道'正確'的方式,但你建議的方式工作得很好:

list.remove(int_parameter);

刪除給定位置的元素和

list.remove(Integer_parameter);

從列表中刪除給定的對象。

這是因為VM首先嘗試查找使用完全相同的參數類型聲明的方法,然后才嘗試自動裝箱。



查看完整回答
反對 回復 2019-12-21
  • 3 回答
  • 0 關注
  • 440 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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