Java不可变字符串

时间:2017-05-16 10:09:55

标签: java

在下面的程序中,我尝试替换字符串并尝试将其分配给同一个变量。但在Java中,字符串是immutable。所以一旦创建,我们就无法修改它。但在这里我可以修改。不确定我的理解是否正确。任何人都可以帮助我吗?

public static void main(String[] args) {

        String s = "1234504";
         s = s.replaceAll("0", "");
        int count = 0;
        for(int i = 0; i< s.length() ; i++){
            if(Character.isDigit(s.charAt(0))){
                count++;
            }
        }
        System.out.println("Number of digits in string");
        System.out.println(count);

    }

1 个答案:

答案 0 :(得分:0)

s = s.replaceAll("0", "");不会改变String,它会创建一个新的String并将其分配给s变量。 String引用的原始s保持不变。