java中的string为什么是不可变的

2024-12-04 18:41:58
推荐回答(4个)
回答1:

因为 String 源码是final修饰的,final修饰的变量都是放在常量池中的,所以是不可变的,创建一个则存一个到常量池中,用到时,都是指向该字符串在常量池中的地址或组合地址。

回答2:

你自己在Java里输个String,Ctrl+鼠标左键进去看看,发现String的修饰符是final,

回答3:

因为String类在做参数传递的时候,其值不会发生改变,在方法中会产生新的对象,相当于局部变量,方法弹栈后,它也会消失.但原来的String还是那个值

回答4:

因为不可继承是顶级类