注意replace
如何返回a string derived from this string
(来自javadoc的引用)。这是因为它不会更改初始字符串的值。在Java中,String是不可变的。
您必须直接打印replace
的结果或将其分配给变量。
for(String name : b){
name = name.replace(" ","");
System.out.println(name);
}
或更短:
for(String name : b){
System.out.println(name.replace(" ",""));
}
如果要在一行上显示整个结果,请使用print
而不是println
。
,
请记住,String
是Immutable,任何修改都应分配给新的String
。
String trimmed = name.replace(" ","");
System.out.println(trimmed);
,
String
是不可变的,因此,当您调用replace
时,实际上并没有从name
中删除空格,而只是创建了一个不引用它的新字符串。您只需将replace
的返回值分配给name
:
for (String name : b) {
name = name.replace(" ","");
System.out.print(name);
}
此外,如果希望将输出放在一行中,则应使用System.out.print
而不是System.out.println
(如上所述)。后者在输入的末尾添加了换行符。
,
看看String.replace()方法的documentation,我们发现以下内容:“返回一个新字符串,该字符串是用newChar替换了该字符串中所有出现的oldChar的结果。”
这意味着您必须保存name.replace(“”,“”)的结果,因为该方法不会更改您的旧字符串。试试这个:
name = name.replace(" ","");
,
尝试使用System.out.print()而不是System.out.println()。
System.out.println()将光标置于下一行。
本文链接:https://www.f2er.com/3158545.html