Java字符串

Java字符串的String、StringBuilder、StringBuffer三者特性详解

戏子无情 提交于 2019-12-30 11:22:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、不可变String类型 字符串是计算机程序设计中的,最常见行为,Java的字符串操作最主要的类是String,并且String对象是不可变的(Immutable),即对象一旦创建在内存中,那么它的内容就不再改变。虽然String类中提供很多方法看起来像是可以修改String对象,比如trim()、subString()等等,但是实际上它们并没有改变原来的字符串对象,这些方法传递的只是引用的一个拷贝,所以重新创建了一个String类型的对象,并且有了新的引用。 例如下面一段代码可以说明String的不可变特性: package date0804.demo2; public class ImmutableString { public static void main(String[] args){ String str=new String("xyz"); change(str); System.out.println(str); } public static void change(String s) { s="xml"; } } 其输出结果为 str=xyz 因此,我么可以看到每当把String对象作为方法的参数时,都会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置上,从未改变过。 另外