String 字符串常量;
StringBuffer 字符串变量(线程安全,多线程使用);
StringBuilder 字符串变量(非线程安全,单线程使用);
运行速度(执行速度):StringBuilder > StringBuffer > String
String 是不可变的对象,对 String 类型进行改变等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象。(所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别是当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的)
特点:
- String是值不可变的常量,是线程安全的(Can be shared)
- String类使用了final修饰符,String类是不可继承的
...
拼接操作
String>> String S1 = “This is only a” + “ simple” + “ test”;
StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”);
String对象和StringBuffer对象和之间的互转
StringBuffer和String属于不同的类型,不能直接进行强制类型转换。
String s = “abcd”;
StringBuffer sbu = new StringBuffer(“12345”);
StringBuffer sbu1 = new StringBuffer(s); //String转换为StringBuffer
String s1 = sbu.toString(); //StringBuffer转换为String
应用场景:
String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
学而时习之,不亦乐乎...