Java的Array indexOf在哪里?我必須遺漏一些非常明顯的東西,但我已經遍地搜索過,找不到這種方法。
3 回答
小怪獸愛吃肉
TA貢獻1852條經驗 獲得超1個贊
使用Arrays實用程序類有兩種方法可以實現此目的。
如果數組未排序且不是基元數組:
java.util.Arrays.asList(theArray).indexOf(o)
如果數組是基元并且沒有排序,那么應該使用其他答案之一提供的解決方案,例如KeremBaydo?an,Andrew McKinlay或Mishax。即使theArray是原始代碼(可能發出警告),上面的代碼也會編譯,但是你會得到完全錯誤的結果。
如果數組已排序,您可以使用二進制搜索來獲得性能:
java.util.Arrays.binarySearch(theArray, o)
不負相思意
TA貢獻1777條經驗 獲得超10個贊
數組沒有indexOf()方法。
也許這個Apache Commons Lang ArrayUtils方法就是你想要的
import org.apache.commons.lang3.ArrayUtils;String[] colours = { "Red", "Orange", "Yellow", "Green" };int indexOfYellow = ArrayUtils.indexOf(colours, "Yellow");
小唯快跑啊
TA貢獻1863條經驗 獲得超2個贊
空無一人。要么使用java.util.List*,要么你可以寫自己的indexOf():
public static <T> int indexOf(T needle, T[] haystack){
for (int i=0; i<haystack.length; i++)
{
if (haystack[i] != null && haystack[i].equals(needle)
|| needle == null && haystack[i] == null) return i;
}
return -1;}*您可以使用您的陣列制作一個 Arrays#asList()
添加回答
舉報
0/150
提交
取消
