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的封装等。

String,StringBuffer 都是final修饰的,因为无论String还是StringBuffer本质都是数组char[] ,因为String的是final char[],而StringBuffer的是 char[]  ,多了一个final.

阅读更多
文章标签: java基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭