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

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

java indexof 總是返回-1

java indexof 總是返回-1

喵喵時光機 2021-06-21 12:14:39
我有這行代碼test.remove(Arrays.asList(test).indexOf(gro?ezahl))實際上,我想刪除名為 ''test'' 的 ArrayList 中出現的 ''gro?ezahl''。問題是,每次我嘗試這段代碼時,我都遇到了同樣的問題Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1也許有更好的方法來解決這個問題,但這真的讓我很煩惱。如果有人想嘗試我的例子,''test'' 是 [2, 3, 4] 和 ''gro?ezahl'' 是 3。ArrayList 也只包含整數。提前致謝。
查看完整描述

2 回答

?
GCT1015

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

當您使用Arrays.asList(test)它時,它會返回一個Listof ArrayLists,而不是Integers。當然,你在gro?ezahl那里找不到元素(這就是indexOf()返回 -1的原因),因為它只包含你test ArrayList的元素。如果您想gro?ezahltest以下位置刪除“ ”元素:

如果gro?ezahlInteger類型而不是int你應該調用test.remove(gro?ezahl);.

如果gro?ezahl是類型int,你可以打電話test.remove(new Integer(gro?ezahl));或者test.remove(test.indexOf(gro?ezahl)); 我希望它會幫助你!


查看完整回答
反對 回復 2021-06-23
?
一只甜甜圈

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

既然testArrayList<Integer>,Arrays.asList(test)就會創建一個List<ArrayList<Integer>>。由于 a List<ArrayList<Integer>>, 只包含 的實例ArrayList<Integer>,它永遠不能包含3indexOf總是返回-1。

你根本不應該打電話asList

test.remove(test.indexOf(grossezahl));


查看完整回答
反對 回復 2021-06-23
  • 2 回答
  • 0 關注
  • 927 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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