String、StringBuffer、StringBuilder
String、StringBuffer、StringBuilder
String
1 | public final class String |
【两种实例化方式的区别】
直接赋值(String str = “hello”;):只开辟一块堆内存空间,并且会自动入池,不会产生垃圾。
构造方法(String str= new String(“hello”);):会开辟两块堆内存空间,其中一块堆内存会变成垃圾被系统回收,而且不能够自动入池,需要通过public String intern();方法进行手工入池。
在开发的过程中不会采用构造方法进行字符串的实例化
StringBuffer
1 | public final class StringBuffer |
StringBuilder
1 | public final class StringBuilder |
执行速度
在大多数情况下三者在执行速度方面的比较:StringBuilder > StringBuffer > String
详情请前往:String,StringBuffer与StringBuilder的区别??_Java天空-CSDN博客 或者 首页-KuangStudy查询
结论
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全,执行速度最快)
对于三者使用的总结:
1)如果要操作少量的数据用 = String
2)单线程操作字符串缓冲区下操作大量数据 = StringBuilder
3)多线程操作字符串缓冲区下操作大量数据 = StringBuffer
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 柳门竹巷!
评论