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