17

文字列で取得するようにindexOfを取得する方法はありますか?

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

私はこのコードを書きましたが、エラーが返され、コンパイルされません!何かアドバイス ?

4

6 に答える 6

62

これを使って ...

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");
于 2011-06-06T09:28:57.380 に答える
13

配列がオブジェクトの配列である場合、次のようになります。

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

もう1つの方法はorg.apache.commons.lang.ArrayUtils.indexOf(...)、プリミティブ型の配列のオーバーロードと、開始オフセットを取る3引数バージョンもあります。(Apacheバージョンは、一時的なインスタンスの作成を伴わないため、より効率的であるはずListです。)

于 2011-06-06T09:18:56.540 に答える
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");
于 2011-06-06T09:18:22.327 に答える
2

あなたはそれを使うことができますjava.util.Arrays.binarySearch(array, item); それはあなたにアイテムのインデックスを与えるでしょう、もしあれば...

ただし、検索する前に配列を並べ替える必要があることに注意してください。

よろしく

于 2011-06-06T09:36:30.627 に答える
2

Java配列には直接indexOfメソッドはありません。

于 2016-10-19T05:51:45.627 に答える
0
output.add("1 2 3 4 5 6 7 8 9 10");

"あなたは10の後を逃します。

于 2011-06-06T09:22:43.433 に答える