Java的Array indexOf在哪里?
我一定错过了一些非常明显的东西,但我已经搜索了一遍,找不到这种方法。
有几种方法可以使用 Arrays
实用工具类完成此操作。
如果数组未排序且不是基元数组:
java.util.Arrays.asList(theArray).indexOf(o)
如果数组是基元且未排序,则应使用其他答案之一提供的解决方案,例如Kerem Baydoğan,Andrew McKinlay或Mishax的答案。上面的代码即使很原始(可能会发出警告),也会编译,但您仍然会得到完全不正确的结果。theArray
如果数组已排序,则可以使用二进制搜索来提高性能:
java.util.Arrays.binarySearch(theArray, o)
数组没有方法。indexOf()
也许这个Apache Commons Lang ArrayUtils
方法就是你正在寻找的
import org.apache.commons.lang3.ArrayUtils;
String[] colours = { "Red", "Orange", "Yellow", "Green" };
int indexOfYellow = ArrayUtils.indexOf(colours, "Yellow");