0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

配列にindexOf()を使おうとしてエラーになった話

Last updated at Posted at 2020-03-22

Paiz〇で問題文を解こうとしていたところ、
配列に対してindexOf()を使用としたら
can not find symbol シンボルが無いよ~って言われた。

コードはこんな感じ。関係ないところは端折る。
import util.*;

String[] array = {"a","b","c"};
String str = "a";

int index = array.indexOf(str);
}
}

ちゃんとutil.*もimportしてるし、スペルも間違ってないのに出来ない。
色々検証してたら配列じゃなくてlistとか基本型だったら普通に動く。
配列名だけで指定した時だけ動かない。

でも他のサイトにも配列の要素のインデックスを求めるのはindexOf使えと書いてるし…。

んで四苦八苦して参考書引っ張り出してきたら、
配列の特定の要素を調べるときはArrays.binarySearchを使えば良いよと書いてたので、
実際に使ってみたらちゃんと動いた。コードはこれ↓。

int index = array.Arrays.binarySearch(array, str);

ただ配列の要素に重複がある場合、どの要素が返されるかはわからないとのことなので
やっぱりindexOfも使いたい。
一応拡張forを使って文字列に全部結合したら使えるが、二度手間だった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?