1. ホーム
  2. java

[解決済み] Javaでfinal Stringを定義するのは意味があるのでしょうか?[重複しています]。

2022-02-18 10:28:11

質問

<ブロッククオート

重複の可能性があります。
文字列と最終

から 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 は、Javaではあまり意味をなさないという意味です。 final 属性はどこか冗長なのでしょうか?

どのように解決するのですか?

その String オブジェクトは不変ですが、その中身は実は String オブジェクトは変更される可能性があります。

例えば

String someString = "Lala";

この変数が持つ値を再代入する(別の文字列を参照するようにする)ことができます。

someString = "asdf";

しかし、これでは

final String someString = "Lala";

そうすると、上記のような再代入はできず、コンパイル時のエラーになります。