Java-String

21.Java中String、String Buffer、String Builder有什么区别?

  1. String是不可变类,String对象一旦创建就不能修改,每次修改操作都会创建新的String对象。
  2. String Buffer可变类,可以进行字符串的追加、删除和插入等操作,内部使用sychronized关键字修饰,线程安全
  3. String Build也是可变类,与String Buffer类似,不能保证线程安全,但是性能比String Buffer更好。

22.String#equals() 和 Object#equals() 有何区别?

String 中的 equals 方法重写了Object的equals方法,比较的是是否相等。 Objectequals 方法是比较的对象的内存地址

23.什么是不可变类?

不可变类是初始化之后不能被修改的类,类被final修饰变量private final修饰,并且不提供setter方法。如果要修改类,就会返回副本(新对象)。我们常见的String类就是不可变类。不可变类的优点是线程安全,但是缺点是频繁修改浪费资源

你可能感兴趣的:(Java基础,java,jvm,开发语言)