Java学习<3>:String字符串

127 阅读1分钟

字符串操作应该是开发中最为常见的行为。因此,适当的优化字符串操作方式是一件值得考虑的事情。

根据JDK文档的描述,String对象是不可变的。也就说每一次修改String值的操作都会创建一个全新的String对象,用以存放新生成的字符串内容。而最初的String对象则没有任何变化 看一下代码

public class Immutable {

    public static String upCase(String s) {
        return s.toUpperCase();
    }
    public static void main(String[] args) {
        String str = "immutable";
        System.out.println(str);
        String newStr = upCase(str);
        System.out.println(newStr);
        System.out.println(str);
    }
}

输出:
immutable
IMMUTABLE
immutable

当把字符串str传递给upCase(String s)方法时,实际传递的是str的一个拷贝。其实,每当把String对象作为参数时,都会复制一份引用,而该引用所指向的对象一直存在,并没有改变。

。。。。待续