String 类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而 StringBuffer 表示字符容器,其内容和长度可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用 String 类即可,但是如果需要对字符串中的字符进行增删操作,则使用 StringBuffer 类。 String 类覆盖了 Object 类的 equals() 方法...
1. String 是不可变的字符序列, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常要改变字符串长度的话不要使用string。 2. StringBuffer 是线程安全的可变字符序列,每次都会对StringBuffer对象本身进行操作,而不是生成新的对象并改变对象引用...
StringBuffer 和 StringBuilder 的父类都是 AbstractStringBuilder ,和 String常量区别是 String 进行字符串操作会重复开辟变量("" 双引号定义的相同字符串有个常量池复用效果)对进行批量操作效率低,StringBuffer 和 StringBuilder 内部维护一个 char[] value; 操作都是对这个 char数组对象操作,最后toString 才会转成你想...
StringBuffer类和String类一样,也用于处理字符串。与String类不同的是,StringBuffer对象是可变的,可以对其进行修改,而不会创建新的对象。StringBuffer类中提供了一些方法,用于对字符串进行修改。比如,append()方法用于在字符串末尾添加新的内容;insert()方法用于在指定位置插入新的内容;delete()方法用于删除指定...
答:String对象的长度一旦定义就固定就不可以改变,对于已经存在的 String对象的修改都是创建一个新的对象,然后把新的值存进去 ,String类不能被继承。StringBuffer是一个可变对象,当对它进行修改的时候不会像 String那样重新建立对象。它只能通过构造函数来建立对象。另外StringBuffer还是一个线程安全的类。ArrayList是实现...
百度试题 题目简述String类与StringBuffer类的区别 相关知识点: 试题来源: 解析 自主发挥
String、StringBuffer和StringBuilder的区别(简述) String:源码中使用public final 修饰,说明string只能赋值一次,再次赋值需要重新分配一个空间 StringBuffer:继承于AbstractStringBuilder,线程安全的,适用于多线程操作 StringBuilder:继承于AbstractStringBuilder,线程不安全的,适用于单线程操作...
区别在于,类 StringBuffer 的 API 是同步的,即是线程安全的,而类 StringBuilder 的 API 不是同步的,即线程不安全的。通常来说,若声明的字符串出现单线程的环境,即不是线程共享的环境,不存在线程安全的问题,应该使用类 StringBuilder 代替类 StringBuffer ,这是类 StringBuilder 设计的初衷。理由是,类 ...