1. ホーム
  2. java

[解決済み] なぜJavaにはConstant機能がないのですか?

2022-04-29 05:57:07

質問

Javaにおける定数の理由を明らかにしようとしたところ Javaでは、定数を宣言する際に final というキーワードがあります。

私の疑問は、なぜJavaはConstant(定数)を導入しなかったのかということです。 const ) 機能があります。 C++から来たと言う人が多いので、C++では const というキーワードがあります。

感想をお聞かせください。

解決方法は?

重いC++のコーディングからJavaに移行するたびに、その不足に適応するために少し時間がかかります。 const-correctness を使用します。 この使い方は const C++で定数変数を宣言するのとは、かなり違います。 基本的には、オブジェクトがconst-pointerと呼ばれる特別な種類のポインタを通してアクセスされたときに不変であることを保証するものです。 残念ながら、これは言語によって強制されるものではありません。

Wikipediaには、以下のような情報があります。

<ブロッククオート

興味深いことに、Java言語仕様では、constを予約キーワード、つまり変数識別子として使用できないものとしているが、その意味づけはされていない。これは、C++スタイルのconstメソッドとconst型へのポインタを含むJava言語の拡張を可能にするために、このキーワードが予約されたと考えられている。Java Community Processにおけるconst correctnessの実装に関する拡張要求チケットは2005年に締め切られており、const correctnessがJavaの公式仕様に入ることはないだろうということが示唆されている。