字符串对象

不可变的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等格式”,参数) 进行打印

你可能感兴趣的:(字符串对象)