一尘不染

在Java中定义最终的String是否有意义?

java

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html中我可以读到:

Strings are constant; their values cannot be changed after they are created.

final String从某种意义上说该final属性是多余的,这是否意味着a 在Java中实际上没有意义?


阅读 211

收藏
2020-12-03

共1个答案

一尘不染

String对象是不可变的,但实际上是对String可以更改的对象的引用。

例如:

String someString = "Lala";

您可以重新分配此变量保存的值(以使其引用其他字符串):

someString = "asdf";

但是,这样做:

final String someString = "Lala";

然后,上述重新分配将是不可能的,并且将导致编译时错误。

2020-12-03