0

Iterable があり、 iterable 内の特定の文字列について確認する必要があります。試してみiter.contains("my string")ましたが、うまくいきません。何か案が?

4

5 に答える 5

3

Iterable はインターフェイスです。contains のようなメソッドは含まれていません。これは、基礎となるデータ構造を破損することなく順次読み取ることができると想定しているためです。

Iterable インターフェースが行う仮定もありません。

于 2013-06-18T18:02:35.673 に答える
2

Interface Iterable は Iterator のみを返します。そのため、特定の値が内部にあるかどうかを直接取得することはできません。代わりに、for-each 構造を使用して反復する必要があります。

boolean found = false;
for (String s: iter) {
    if (s.equals("my string")) {
        found = true;
        break;
    }
 }

サイズによっては、これはあまり効率的ではない場合があります。しかし、それが唯一の選択肢である場合...少なくとも機能します。

于 2013-06-18T18:13:19.830 に答える