13 字符串

13.1 不可变String

Immutable

class Immutable {
    public static String upcase(String s) {
        return s.toUpperCase();
    }
    public static void test(String s) {
        s = "test";
        System.out.println("test:" + s);
    }
    public static void chapter13_1() {
        String q = "how";
        String qq = upcase(q);
        System.out.println(q);
        System.out.println(qq);

        test(q);
        System.out.println(q);
    }
}

String对象是不可变的。String类中的看起来会修改String值的方法,实际上都是创建了一个全新的String对象。

13.2 StringBuilder

UsingStringBuffer

class UsingStringBuilder {
    public String toString() {
        Random random = new Random(7);
        StringBuilder res = new StringBuilder("[");
        for (int i=0;i<5;i++) {
            res.append(random.nextInt(10));
            res.append(", ");
        }
        //[...),即删除res.length()-2和res.length()-1位置的字符
        res.delete(res.length()-2,res.length());
        res.append("]");

        return res.toString();
    }
    public static void chapter13_2() {
        UsingStringBuilder usingStringBuilder = new UsingStringBuilder();
        System.out.println(usingStringBuilder.toString());
    }
}

常用方法:append(),toString(),delete(),reverse(),substring()

猜你喜欢

转载自blog.csdn.net/u012906122/article/details/113873314