Java 调用string.replaceAll()不起作用?
对于我正在开发的新应用程序,我必须能够将a替换为。但我还没有成功。有人知道这样做的方法吗?字符串是不可变的。它们的内容可以不在创建时更改 因此任何改变字符串对象内容的方法将向调用者返回改变的值。无论你是否更换,康卡特 所以你需要Java 调用string.replaceAll()不起作用?,java,Java,对于我正在开发的新应用程序,我必须能够将a替换为。但我还没有成功。有人知道这样做的方法吗?字符串是不可变的。它们的内容可以不在创建时更改 因此任何改变字符串对象内容的方法将向调用者返回改变的值。无论你是否更换,康卡特 所以你需要 public class MainWindow { public static void main(String[] args) { String s = "88,24"; if(s.contains(",")){
public class MainWindow {
public static void main(String[] args) {
String s = "88,24";
if(s.contains(",")){
s.replaceAll(",", ".");
System.out.println(s);
}
}
}
要使引用
s
指向已更新的字符串值。ReplaceAll本质上不存在。
因此,您必须显式地将其分配给s。
这是代码
s = s.replace ...
s=s.replaceAll(“,”,“)
replaceAll
返回一个新字符串。你必须使用这个。记住,String
是不可变的,没有任何东西可以更新它,即使他自己的方法也不会更新实例。撇开当前的问题不谈,看起来你正在将十进制值作为字符串处理。不要这样做。将它们视为小数,并仅在需要时格式化输出。仅供记录:如果您愿意,您仍然可以接受答案,即使是在一个封闭的问题上。我会在“更改”上添加更多斜体字。)有趣的是,我们在法语里有同样的说法;)所以我明白了!
public class MainWindow {
public static void main(String[] args) {
String s = "88,24";
if(s.contains(",")){
s = s.replaceAll(",", ".");
System.out.println(s);
}
}
}