page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6249 次

3096 个回答

0 赞同

String 为什么要设计为不可变类?

在 Java 中将 String 设计成不可变的是综合考虑到各种因素的结果。主要的原因主要有以下三点: (1)字符串常量池的需要:字符串常量池是 Java 堆内存中一个特殊的存储区域, 当创建一个 String 对象时,假如此字符串值已经存在于常量池中,则不会创建一个新的对象,而是引用已经存在的对象; (2)允许 String 对象缓存 H...

回答于 2022-01-17 15:07

0 赞同

String、StringBuilder、StringBuffer 的区别?

String:用于字符串操作,属于不可变类;【补充:String 不是基本数据类型,是引用类型,底层用 char 数组实现的】 StringBuilder:与 StringBuffer 类似,都是字符串缓冲区,但线程不安全; StringBuffer:也用于字符串操作,不同之处是 StringBuffer 属于可变类,对方法加了同步锁,线程安全 StringBuffer的补充 说明...

回答于 2022-01-17 15:06

0 赞同

String 字符串修改实现的原理?

当用 String 类型来对字符串进行修改时,其实现方法是首先创建一个 StringBuffer,其次调用 StringBuffer 的 append() 方法,最后调用 StringBuffer 的 toString() 方法把结果返回。

回答于 2022-01-17 15:05

0 赞同

String str = “i” 与 String str = new String(“i”) 一样吗?

不一样,因为内存的分配方式不一样。String str = “i” 的方式,Java 虚拟机会将其分配到常量池中;而 String str = new String(“i”) 则会被分到堆内存中。 public class StringTest {         public static void main(String[] args) {     String str1 = "abc";     String str2 = "abc";     String str3 = new Str...

回答于 2022-01-17 15:02

0 赞同

String 类的常用方法都有那些?

indexOf():返回指定字符的索引。 charAt():返回指定索引处的字符。 replace():字符串替换。 trim():去除字符串两端空白。 split():分割字符串,返回一个分割后的字符串数组。 getBytes():返回字符串的 byte 类型数组。 length():返回字符串长度。 toLowerCase():将字符串转成小写字母。 toUpperCase():将...

回答于 2022-01-17 15:00

0 赞同

Java 中的 Math.round(-1.5) 等于多少?

等于 -1,因为在数轴上取值时,中间值(0.5)向右取整,所以正 0.5 是往上取整,负 0.5 是直接舍弃。 23、两个二进制数的异或结果是什么?两个二进制数异或结果是这两个二进制数差的绝对值。表达式如下:a^b = |a-b|。两个二进制 a 与 b 异或,即 a 和 b 两个数按位进行运算。如果对应的位相同,则为 0(相当于对应的算...

回答于 2022-01-15 13:46

0 赞同

如何实现对象的克隆?

(1)实现 Cloneable 接口并重写 Object 类中的 clone() 方法; (2)实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深克隆。

回答于 2022-01-15 13:45

0 赞同

深克隆和浅克隆的区别?

(1)浅克隆:拷贝对象和原始对象的引用类型引用同一个对象。浅克隆只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅克隆。 (2)深克隆:拷贝对象和原始对象的引用类型引用不同对象。深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变...

回答于 2022-01-15 13:45

0 赞同

什么是 Java 的序列化,如何实现 Java 的序列化?

对象序列化是一个用于将对象状态转换为字节流的过程,可以将其保存到磁盘文件中或通过网络发送到任何其他程序。从字节流创建对象的相反的过程称为反序列化。而创建的字节流是与平台无关的,在一个平台上序列化的对象可以在不同的平台上反序列化。序列化是为了解决在对象流进行读写操作时所引发的问题。 序列化的实现:将需...

回答于 2022-01-15 13:44

0 赞同

什么情况下需要序列化?

(1)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候; (2)当你想用套接字在网络上传送对象的时候; (3)当你想通过 RMI 传输对象的时候。

回答于 2022-01-15 13:44