我一定是错过了一些非常明显的东西,但我已经搜索了所有,不能找到这个方法。


当前回答

List接口有一个indexOf()方法,您可以使用array的asList()方法从数组中获取List。除此之外,Array本身没有这样的方法。它确实有一个用于排序数组的binarySearch()方法。

其他回答

int findIndex(int myElement, int[] someArray){
 int index = 0;
 for(int n: someArray){
   if(myElement == n) return index;
   else index++;
 }
}

注意:你可以将此方法用于int类型的数组,你也可以将此算法用于其他稍有变化的类型

我不记得在数组上有一个“indexOf”,除了为自己编写它…如果数组包含基本类型,则可以使用java.util.Arrays#binarySearch(…)方法之一(参见Arrays javadoc)

数组没有indexOf()方法。

也许这个Apache Commons Lang ArrayUtils方法就是您要找的

import org.apache.commons.lang3.ArrayUtils;

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

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

对于原语数组,如果你想避免装箱,Guava为原语数组提供了帮助,例如int。indexOf(int[]数组,int目标)

数组本身没有这个方法。然而,A List做到了: indexOf