Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList replaceAll()不工作_Java_Arraylist_Replaceall - Fatal编程技术网

Java ArrayList replaceAll()不工作

Java ArrayList replaceAll()不工作,java,arraylist,replaceall,Java,Arraylist,Replaceall,我不知道我的代码出了什么问题。无论我试图替换什么,都不需要修改。 我有一个私有的静态数组列表lista 我填这个。然后在另一种方法中,无论我尝试什么,我都无法替换任何东西,比如: public static void replacing() { Collections.replaceAll(lista, "a", "!!!!!!!!!!!!!!!!!!!!!"); } 然后我在方法中打印这个,lista是一样的,没有任何变化。之后我应该检查什么 public class MyProgr

我不知道我的代码出了什么问题。无论我试图替换什么,都不需要修改。 我有一个私有的静态数组列表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());
    }
}
上面的代码示例显示Collections.replaceAll确实有效


上面的代码示例显示Collections.replaceAll确实有效。

这是一个解释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]

    }
}

这是一个解释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]

    }
}
产出将是

!!!!!巴

它不会取代ba中的“a”

产出将是

!!!!!巴


>在BA

中不能代替“A”。你应该考虑编辑你的问题并添加你的Lista内容,因为你的片段看起来正确,Lista包含什么,你是如何创建的?请具体说明。你到底在名单上写了什么?发布创建列表、添加列表并尝试调用方法的完整代码。您的lista是否包含元素/字符串a???您是否可能试图用字符串替换ArrayList中任何元素中的任何字符“a”??你应该考虑编辑你的问题,并添加你的Lista内容,因为你的片段看起来正确,Lista包含什么,你是如何创建的?请具体说明。你到底在名单上写了什么?发布创建列表、添加列表并尝试调用方法的完整代码。您的lista是否包含元素/字符串a???您是否可能试图用字符串替换ArrayList中任何元素中的任何字符“a”??谢谢大家。我只能在两个答案中给出相关代码:公共类MyProgram{private static ArrayList lista;公共静态void fileReading{lista=new ArrayList;try{inp=new LineNumberReadernew BufferedReadernew InputStreamReadernew FileInputStreamInlineV,ISO8859-1;字符串sor;而sor=inp.readLine!=null{lista.addsor;lista.addSystem.getPropertyline.separator;}inp.close;}catch…}公共静态无效搜索{Collections.replaceAlllista,a,b;System.out.printlnlista.toString;}我尝试了这个,但它只打印原始列表a它包含几个“a”,并尝试了其他列表a,但它没有替换任何内容。我不确定这是否是我正在寻找的正确方法。我需要替换旧字符串,如:abc…或abc,其中我想将abc替换为新字符串,如xyz。abc是一个方法名,因此我必须搜索,然后重播只需输入名称,然后留下替换后的内容就可以了吗?谢谢大家。我只能给出两个答案中的相关代码:公共类MyProgram{private static ArrayList lista;公共静态void fileReading{lista=new ArrayList;try{inp=new LineNumberReadernew BufferedReadernew InputStreamReadernew FileInputStreaminFileNev,ISO8859-1;字符串sor;while sor=inp.readLine!=null{lista.addsor;lista.addSystem.getPropertyline.separator;}inp.close;}catch…}公共静态无效搜索{Collections.replaceAlllista,a,b;System.out.printlLista.toString;}}我尝试了这个,但它只打印原始列表a它包含几个“a”,并尝试了其他列表a,但它没有替换任何内容。我不确定这是否是我正在寻找的正确方法。我需要替换旧字符串,如:abc…或abc,其中我想将abc替换为新字符串,如xyz。abc是一个方法名,因此我必须搜索,然后重播只留下名字,留下后面的东西,这样行吗?
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]

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