1 string
Java中的string
是字符串的基本数据类型,但是我们在Java中基本数据类型和包装类的区别?中说到过,一般情况下,我们用到类对象的机会比较多,所以string
的包装类是String
,这是一个不可变数据类型,类似Python中的str数据类型,一旦创建,数据值不能修改。
2 stringBuffer
stringBuffer
是Java中对于string
的一个补充,上面说到string是一种不可变的字符串数据类型,但是我们大部分情况下,需要用到一种可变的字符串,比如在拼接sql
语句时,我们大部分情况下都是使用的stringBuffer
数据类型。在Java中,stringBuffer
是线程安全的,也就是说我们可以进行异步I/O操作。
3 stringBuilder
stringBuilder
和stringBuffer
类似,都是可变的字符串数据类型,但是由于stringBuilder
不是线程安全的,即不能进行异步I/O,只能进行同步操作。但是stringBuilder
的运行效率又比stringBuffer
更快,因为stringBuffer
的线程安全特性,使得其运行效率有所下降。
写在最后
欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment