簡體   English   中英

Arrays.asList(arr).indexOf 不工作

[英]Arrays.asList(arr).indexOf is not working

考慮以下代碼段

 int key1 = Arrays.asList(new int[]{1,2,3,4,5}).indexOf(5) ;//wrapper 
 int key2 = new ArrayList<>(Arrays.asList(new int[]{1,2,3,4,5})).indexOf(5); //another copy        

但是此代碼段的計算結果為 -1 -1,這意味着它沒有在列表中找到鍵 5。 但是為什么Arrays.aslist沒有在列表中找到鍵。 任何人都可以在沒有明確邏輯實現的情況下解釋或快速修復在數組中搜索鍵的代碼。 當然,我們可以對其進行排序,然后使用Arrays.binarySearch 任何其他建議或任何其他方式來做到這一點。

問題是您在asList()中創建的 Array 類型,考慮到 List 類型需要非原始類型,您需要將int聲明為Integer 如果您將代碼更改為:

Arrays.asList(new Integer[]{1,2,3,4,5}).indexOf(5);

它會起作用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM