[英]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.