我一定是错过了一些非常明显的东西,但我已经搜索了所有,不能找到这个方法。
当前回答
数组没有indexOf()方法。
也许这个Apache Commons Lang ArrayUtils方法就是您要找的
import org.apache.commons.lang3.ArrayUtils;
String[] colours = { "Red", "Orange", "Yellow", "Green" };
int indexOfYellow = ArrayUtils.indexOf(colours, "Yellow");
其他回答
在java数组中没有直接的indexOf函数。
使用Arrays实用程序类有几种方法可以实现这一点。
如果数组没有排序,也不是基元数组:
java.util.Arrays.asList(theArray).indexOf(o)
如果数组是原语且没有排序,则应该使用由其他答案之一提供的解决方案,如Kerem baydo土耳其的,Andrew McKinlay的或Mishax的。即使theArray是基本的(可能会发出警告),上面的代码也会被编译,但您仍然会得到完全错误的结果。
如果数组是排序的,你可以使用二进制搜索性能:
java.util.Arrays.binarySearch(theArray, o)
数组本身没有这个方法。然而,A List做到了: indexOf
List接口有一个indexOf()方法,您可以使用array的asList()方法从数组中获取List。除此之外,Array本身没有这样的方法。它确实有一个用于排序数组的binarySearch()方法。
您可能会想到java.util。数组列表,而不是数组。
推荐文章
- 在JavaScript中根据键值查找和删除数组中的对象
- 如何格式化Joda-Time DateTime仅为mm/dd/yyyy?
- 如何在POM.xml中引用环境变量?
- 如何在android中复制一个文件?
- 如何确定一个数组是否包含另一个数组的所有元素
- 将整数转换为字符串,以逗号表示千
- 接口方法的最终参数-有什么意义?
- Java中的@UniqueConstraint注释
- 给定一个数字数组,返回所有其他数字的乘积的数组(不除法)
- 多维数组如何在内存中格式化?
- 如何在清洁模式下运行eclipse ?如果我们这样做会发生什么?
- 获取java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory异常
- Java中的正则表达式命名组
- c#和Java的主要区别是什么?
- 什么是NullPointerException,我如何修复它?