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

2024年12月04日 18:41
有4个网友回答
网友(1):

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

网友(2):

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

网友(3):

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

网友(4):

因为不可继承是顶级类