0

このコードを書いて、arraylist を 2x2 arraylist に追加しました

ArrayList<ArrayList<String>> addressesAndCores = new ArrayList<ArrayList<String>>();
addressesAndCores.add((new ArrayList<String>().add(remoteIp.getText())));
addressesAndCores.add((new ArrayList<String>().add(remoteIp2.getText())));

ただし、Eclipse で次のエラーが表示されます。

The method add(ArrayList<String>) in the type ArrayList<ArrayList<String>> is not applicable for the arguments (boolean)

add を addall に変更することをお勧めしますが、そうすると次のエラーがスローされます。

The method addAll(Collection<? extends ArrayList<String>>) in the type ArrayList<ArrayList<String>> is not applicable for the arguments (boolean)

そして、追加するように変更することをお勧めします...

どんな助けでも大歓迎です

4

3 に答える 3

0

他の何人かが指摘しているように、それを行うことはできません。

独自のビルダーを作成することをお勧めします。

public class ExampleBuilder {

    public static ExampleBuilder newTwoDListBuilder() {
        return new ExampleBuilder();
    }
    private final List<List<String>> underlyingList = new ArrayList<>();

    public ExampleBuilder() {
    }

    public ExampleBuilder add(final List<String> strings) {
        underlyingList.add(strings);
        return this;
    }

    public ExampleBuilder add(final String... strings) {
        underlyingList.add(Arrays.asList(strings));
        return this;
    }

    public List<List<String>> build() {
        return new ArrayList<>(underlyingList);
    }
}

その後、次import staticのように使用できます。

public static void main(String[] args) throws Exception {
    final List<List<String>> list = newTwoDListBuilder().add("ONE").add("TWO").build();
    System.out.println(list);
}

出力

[[ONE], [TWO]]
于 2013-08-02T16:25:34.003 に答える
0

どうした、

リストを作成し、このリストにテキスト new ArrayList<String>().add(remoteIp.getText())を追加してから、リストの代わりにこの操作の結果をメイン リストに追加します。

add() が返さbooleanれ、リストArrayList<String>がタイプの不一致を期待しているため

于 2013-08-02T16:05:48.833 に答える