1

コードの何が問題なのかわかりません。何を置き換えようとしても、機能しません。私は持っていprivate static ArrayList<String> listaます。

これを埋めます。その後、別の方法で、何を試しても、次のように何も置き換えることができません。

public static void replacing() {
    Collections.replaceAll(lista, "a", "!!!!!!!!!!!!!!!!!!!!!");
}

次に、これをメソッドに出力しますが、lista は同じで、何も変更されていません。その後、何を確認すればよいですか?

public class MyProgram {
    private static ArrayList < String > lista;
    public static void fileReading() {
        lista = new ArrayList < String > ();
        try {
            inp = new LineNumberReader(new BufferedReader(new InputStreamReader(new FileInputStream(inFileNev), "ISO8859-1")));
            String sor;
            while ((sor = inp.readLine()) != null) {
                lista.add(sor);
                lista.add(System.getProperty("line.separator"));
            }
            inp.close();
        } catch...
    }
    public static void searching() {
        Collections.replaceAll(lista, "a", "b");
        System.out.println(lista.toString());
    }
}
4

3 に答える 3

11
List<String> list = Arrays.asList(new String[] {"a","b"});      
System.out.println(list);
Collections.replaceAll(list, "a", "!!!!!");
System.out.println(list);

与える

[a, b]
[!!!!!, b]

上記のコード サンプルは、Collections.replaceAll実際に動作することを示しています。

于 2012-11-06T18:07:43.790 に答える
2
List<String> list = Arrays.asList(new String[] {"a","ba",new String("a")});      
Collections.replaceAll(list, "a", "!!!!!");
System.out.println(list);

出力は

!!!!! ba !!!!!

「ba」の「a」は置き換えられません

于 2012-11-06T18:10:43.893 に答える
2

これは Collections.replaceAll を説明する例です

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<String> sLst = new ArrayList<String>();
        sLst.add("A");
        sLst.add("B");
        sLst.add("C");
        sLst.add("A");
        // This will replace all "A" with "Z"
        Collections.replaceAll(sLst, "A", "Z");
        System.out.println(sLst);// [Z, B, C, Z]

    }
}
于 2012-11-06T18:07:44.190 に答える