Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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 调用string.replaceAll()不起作用?_Java - Fatal编程技术网

Java 调用string.replaceAll()不起作用?

Java 调用string.replaceAll()不起作用?,java,Java,对于我正在开发的新应用程序,我必须能够将a替换为。但我还没有成功。有人知道这样做的方法吗?字符串是不可变的。它们的内容可以不在创建时更改 因此任何改变字符串对象内容的方法将向调用者返回改变的值。无论你是否更换,康卡特 所以你需要 public class MainWindow { public static void main(String[] args) { String s = "88,24"; if(s.contains(",")){

对于我正在开发的新应用程序,我必须能够将a替换为。但我还没有成功。有人知道这样做的方法吗?

字符串是不可变的。它们的内容可以在创建时更改

因此任何改变字符串对象内容的方法将向调用者返回改变的值。无论你是否更换,康卡特

所以你需要

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);
        }
    }
}