JAVA基础

63 阅读1分钟

1、深拷贝和浅拷贝的区别

浅拷贝是拷贝指针,如果其中一个对象改变了地址,就会影响到另一个对象。

深拷贝是拷贝对象内容,原对象和新对象之间互不影响。

2、请简述一下String、StringBuffer和StringBuilder的区别?

String是字符串常量,一旦创建不可被修改,不可被继承,长度不可变,线程安全。适用于少量操作的字符串。

StringBuffer是字符串变量,长度可变,线程安全。适用于多线程下在字符缓冲区进行大量字符串操作。

StringBuilder是字符串变量,长度可变,线程不安全。适用于单线程下在字符缓冲区进行大量字符串操作。

字符串操作的执行速度:StringBuilder > StringBuffer > String