字符串

来源:互联网 发布:linux dd u盘启动盘 编辑:程序博客网 时间:2024/05/29 06:26

1.不可变string

String对象是不可变的。String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。而最初的String对象丝毫未动。每当把String对象作为方法的参数时,实际上传递的是引用的一个拷贝。对于一个方法而言,参数是为改方法提供信息的,而不是像让该方法改变自己的。

2.“+”与StringBuilder

在对字符串进行“+”与“+=”操作时,编译器实际上会自动调用StringBuilder类进行操作,用以构造最终的String。由编译器自动的调用StringBuilder类有时会使速度降低,更产生了额外的垃圾。所以,当为一个类编写toString()方法时,如果字符串操作比较简单,可以让编译器自动构造最终的字符串结果。但是,如果要在toString()方法中使用循环,最好是自己创建一个StringBuilder对象,用它来构造最终的结果。
0 0