字符串对象

不可变的String
一.String对象是不可变的,对于每一个修改String内容的方法,实际上都是创建了一个全新的String对象。它具备只读性,所指向它的任何引用都不能修改它的值。
例如

public static String test(String a){ return a.toUpperCase(); } public void test2{ String a="a" test(a); }

当调用这个方法传入一个String类型的参数时,实际上是复制了一分该对象的引用,而该引用所指向的对象并未改变.
二.使用+号进行字符串拼接
StringBuilder
1.在Java中使用“+”号进行字符串拼接时,实际上是调用StringBuilder的append方法,这是由编译器自动引入的,因为它更高效。
流程是:编译器会自动的产生一个StringBuilder对象,再连续调用append方法。
2.在循环中不要用+号进行字符串的拼接
for(int i=0; i

由于+号进行拼接时,会先创建StringBuilder对象,然后进行拼接。因为在循环中,上述方法会不断的产生StringBuidler对象
所以上述方法改成下面的样子会更加高效
StringBuilder result=new StringBuilder();
for(int i=0; i result.append(xx[i]);
}
格式化输出
和C语言一样 java也可以格式化输出
System.out.format("输出的内容 [ %d,%c]",参数1,参数2,...);
Formatter对象进行类型转换
【字符串对象】Fomatter f=new Fomatter();
d 整数
c Unicode
b boolean
s String
f float(十进制)
e 浮点数(科学计数法)
x 整数16进制
Fomatter不仅可以用 f.format(“打印内容 %s等格式”,参数) 进行打印

    推荐阅读