String为什么被final修饰

首先,被final修饰的变量,无论是类属性、对象属性、形参还是局部变量,都需要进行初始化操作。而String被final修饰主要由于两个方面:安全性和效率

一)效率:使用字符串池

final修饰的String,代表这个类不能被继承,而String是一个char类型的数组,证明它是不可更改的,但这也仅仅是引用地址不可改,再加上被private修饰,证明数组本身也不会改变。只有当字符串本身也不会变的时候才可以使用字符串池,这样节省空间

二)安全性:String类被final修饰不能被继承,无法修改,在多线程情况下也是安全的。

你可能感兴趣的:(java,java)