-1

こんにちは、ノードのリストを反復するためのコードを書きます

public class RootImpl {

    private List nodes = new ArrayList<String>();

    public void processData(Object object) {

        for (String node : nodes){

        }
    }
}

そして、このコードはコンパイルされず、次の行でエラーが発生します: for (String node : nodes)

java: 互換性のない型が必要です: java.lang.String が見つかりました: java.lang.Object

このコードは間違っていますか?

4

2 に答える 2

2

フィールドnodesが type の場合List。これが、コンパイラが項目の型を認識できない理由です。使用する必要がありますList<String>

private List<String> nodes = new ArrayList<>();
于 2013-02-01T22:12:20.980 に答える
2

適切な型で変数を定義する必要があります。

  private List<String> nodes = new ArrayList<String>();

コンパイラはnodesが割り当てられている ことを認識できないArrayList<String>ため、これをジェネリックとして解釈し、List<Object>このようなエラーを発行します。

于 2013-02-01T22:12:34.353 に答える