字符串对象

不可变的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<xx.length;i++){
   result+=xx[i];
 }

由于+号进行拼接时,会先创建StringBuilder对象,然后进行拼接。因为在循环中,上述方法会不断的产生StringBuidler对象

所以上述方法改成下面的样子会更加高效
StringBuilder result=new StringBuilder();
for(int i=0;i<xx.lenght;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等格式”,参数) 进行打印

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容