Java的Array indexOf在哪里?

2022-08-31 05:44:21

我一定错过了一些非常明显的东西,但我已经搜索了一遍,找不到这种方法。


答案 1

有几种方法可以使用 Arrays 实用工具类完成此操作。

如果数组未排序且不是基元数组:

java.util.Arrays.asList(theArray).indexOf(o)

如果数组基元且未排序,则应使用其他答案之一提供的解决方案,例如Kerem BaydoğanAndrew McKinlayMishax的答案。上面的代码即使很原始(可能会发出警告),也会编译,但您仍然会得到完全不正确的结果。theArray

如果数组已排序,则可以使用二进制搜索来提高性能:

java.util.Arrays.binarySearch(theArray, o)

答案 2

数组没有方法。indexOf()

也许这个Apache Commons Lang ArrayUtils方法就是你正在寻找的

import org.apache.commons.lang3.ArrayUtils;

String[] colours = { "Red", "Orange", "Yellow", "Green" };

int indexOfYellow = ArrayUtils.indexOf(colours, "Yellow");