String StringBuffer StringBuider

String(线程安全):是典型的Immutable类,被声明为final class ,所有属性也都是final的,因为它 的不可变性,类似字符串的拼接,裁剪等操作都会产生新的String对象。

为什么String被设计成final1.安全性:eg:数据库的密码,用户名都是String,如果String不是final,可能通过一些手段用户名  密码被纂改。2效率:只有设计成final,常量池才有意义。

应用场景:

String :字符串内容不经常变化的业务优先使用String。            

StringBuffer(线程安全):频繁的进行字符串的拼接裁剪等,并且运行在多线程环境下,优先使用StringBuffer。
eg:xml解析。

StringBuilder(线程非安全):频繁的进行字符串的拼接裁剪等,并且运行在单线程环境下,优先使用StringBuilder。

eg:sql语句的拼装,json的封装等。

猜你喜欢

转载自blog.csdn.net/nc0000/article/details/80341678
今日推荐