indexOf在字符串数组中

时间:2011-06-06 08:44:24

标签: java arrays string indexof

无论如何得到indexOf就像你会得到一个字符串。

output.add("1 2 3 4 5 6 7 8 9 10);  
String bigger[] = output.get(i).split(" ");
int biggerWher = bigger.indexOf("10");

我写了这段代码,但它返回错误而没有编译!有什么建议?

6 个答案:

答案 0 :(得分:59)

使用此...

output.add("1 2 3 4 5 6 7 8 9 10");  
String bigger[] = output.get(i).split(" ");
int biggerWher = Arrays.asList(bigger).indexOf("3");

答案 1 :(得分:13)

当数组是一个对象数组时,则:

Object[] array = ..
Arrays.asList(array).indexOf(someObj);

另一个替代方案是org.apache.commons.lang.ArrayUtils.indexOf(...),它还具有基本类型数组的重载,以及采用起始偏移量的3参数版本。 (Apache版本应该更高效,因为它们不需要创建临时的List实例。)

答案 2 :(得分:4)

数组没有indexOf()方法;但是,java.util.List确实如此。因此,您可以将数组包装在列表中并使用List方法(add()等除外):

output.add("1 2 3 4 5 6 7 8 9 10");  
String bigger[] = output.get(i).split(" ");
int biggerWhere = Arrays.asList(bigger).indexOf("10");

答案 3 :(得分:2)

您可以使用java.util.Arrays.binarySearch(array, item); 这会给你一个项目的索引,如果有的话......

但请注意,在搜索之前需要对数组进行排序。

此致

答案 4 :(得分:1)

Java数组中没有直接的indexOf方法。

答案 5 :(得分:0)

output.add("1 2 3 4 5 6 7 8 9 10");

你错过了10后的"