流行网站开发工具,如何用wordpress挖比特币,wordpress 增加菜单,小说网站快速做排名java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类#xff0c;他们之间的区别也是经常在面试中会问到的问题。现在总结一下#xff0c;看看他们的不同与相同。
三者共同之处:
都是final类,不允许被继承#xff0c;主要是从性能和安全性上考虑的#…java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类他们之间的区别也是经常在面试中会问到的问题。现在总结一下看看他们的不同与相同。
三者共同之处:
都是final类,不允许被继承主要是从性能和安全性上考虑的因为这几个类都是经常被使用着且考虑到防止其中的参数被参数修改影响到其他的应用。
StringBuffer是线程安全可以不需要额外的同步用于多线程中;
StringBuilder是非同步,运行于多线程中就需要使用着单独同步处理但是速度就比StringBuffer快多了;
StringBuffer与StringBuilder两者共同之处:可以通过append、indert进行字符串的操作。
String实现了三个接口:Serializable、ComparableString、CarSequence 这三个类之间的区别主要是在两个方面即运行速度和线程安全这两方面。
1、首先说运行速度或者说是执行速度在这方面运行速度快慢为StringBuilder StringBuffer String
String最慢的原因String为字符串常量而StringBuilder和StringBuffer均为字符串变量即String对象一旦创建之后该对象是不可更改的但后两者的对象是变量是可以更改的 2. 说线程安全
在线程安全上StringBuilder是线程不安全的而StringBuffer是线程安全的
如果一个StringBuffer对象在字符串缓冲区被多个线程使用时StringBuffer中很多方法可以带有synchronized关键字所以可以保证线程是安全的但StringBuilder的方法则没有该关键字所以不能保证线程安全有可能会出现一些错误的操作。所以如果要进行的操作是多线程的那么就要使用StringBuffer但是在单线程的情况下还是建议使用速度比较快的StringBuilder。
3. 总结一下
String适用于少量的字符串操作的情况
StringBuilder适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer适用多线程下在字符缓冲区进行大量操作的情况