JAVA面试基础: java中操作字符串都有哪些类?它们有什么区别?
操作字符串的类有:String、StringBuffer、StringBuilder。
String 和 StringBuffer、StringBuilder 的区别: String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象
StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,在经常改变字符串内容的情况下不推荐使用 String。
StringBuffer 和 StringBuilder 的区别,1.StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的
2.StringBuilder 的性能却高于 StringBuffer
总结:
1.经常改变字符串内容的情况下推荐使用StringBuilder,StringBuffer
2.在单线程环境下推荐使用 StringBuilder,多线程环境下推荐使用 StringBuffer。
JAVA面试基础:如何将字符串反转?
答案:
使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。

示例代码:
// StringBuffer reverse
StringBuffer sbf = new StringBuffer();
sbf. append("abc");
System. out. println(sbf. reverse()); // cba
// StringBuilder reverse
StringBuilder sbd = new StringBuilder();
sbd. append("abc");
System. out. println(sbd.reverse()); // cba
String、StringBuilder和StringBuffer的区别
区别:
String为字符串常量,一旦被创建的话,就不能在改变了;
StringBuilder和StringBuffer为字符串变量,创建后是可以被更改的。
速度:
StringBuilder>StringBuffer>String
线程安全:
StringBuilder是线程不安全,StringBuffer是线程安全的。
小结:
String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
参考:
String、StringBuilder和StringBuffer的区别_yy_cly的博客-CSDN博客
笔试不知道考什么?下面提供IT名企必考笔试题集-JAVA 构造器 Constructor 是否可被 override?hashCode 方法的作用?StringBuffer 与 StringBuilder 的区别?分层设计的好处?等#Java##大学生##大学生就业#







