英语老师问我String、StringBuffer和StringBuilder三个单词的区别(也有我豪横的时候了??)

今天是六一,谁还不是个孩子呢(那为什么没有mm送糖果吃呢)
在这里插入图片描述
好了话不多说,如果面试官(新任英语老师)问String、StringBuffer和StringBuilder这三者的区别我们该怎么说呢?

好了话不多说(梅开二度),首先我跟据这个问题总结出来了三要素,由浅到深,如下↓
英语老师问我String、StringBuffer和StringBuilder三个单词的区别(也有我豪横的时候了??)_第1张图片

答:
String是不可变的字符序列,他是用final来修饰的,也就是说它的值一旦创建就不能被修改,每次操作都会产生新的对象。

StringBuffer是可变的字符序列,JDK1.0中声明,可以对字符串内容进行增删,此时不会产生新的对象,另外它是线程安全的,也就是说它是线程同步,用synchronize修饰的,效率低。

StringBuilder和和StringBuffer 非常类似,均代表可变的字符序列 ,而且提供相关功能的方法也一样,只不过它是线程不安全的,效率高。
应用场景:
一般优先使用StringBuilder,涉及到多线程操作共享变量时使用StringBuffer。

你可能感兴趣的:(Java高级篇,java,字符串,string)