Java之字符串

1、不变的String

String对象是不可以改变的。String类中每一个看起来会修改String值得方法,实际都是在创建一个全新的String对象,已包含修改后的字符串内容。而最初的String对象则丝毫未变。

public class Immutable {
    public static String upcase(String s){
        return s.toUpperCase();
    }
    public static void main(String[] args) {
        String q="howdy";
        System.out.println(q);
        String qq=upcase(q);
        System.out.println(qq);
        System.out.println(q);
        q.toUpperCase();
        System.out.println(q);

    }

}

 注意:upcase()返回的引用已经指向一个新的对象,而原本q则还在原地。

2、“+“”与StringBuilder

Java中对String总的“+”、“+=”进行了重载(唯一两个)运算符。

在运用“+”时,编译器创建了一个StringBuilder对象,用以构造最终的String,并且为每个字符串调用一次调用一次StringBuilder的append()方法,最后调用toString()生成结果,并存入s中。

posted @ 2017-02-28 15:26  mslog  阅读(182)  评论(0编辑  收藏  举报