[解決済み] なぜ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の公式仕様に入ることはないだろうということが示唆されている。
関連
-
SpringBootApplication を型解決できない。
-
プロジェクトの依存関係を解決できなかった 解決
-
xxx:jarのアーティファクトディスクリプタの読み込みに失敗した問題は解決しました。
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み】なぜJavaの+=, -=, *=, /=複合代入演算子はキャスティングを必要としないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IllegalArgumentException この例外を解決する方法
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
Javaクラスローダーにソースコードから潜り込む
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
Methodのinvokeメソッド実装のJavaリフレクション
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
org.glassfish.jersey.servlet.ServletContainer
-
java 例外。Javaツールの初期化
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について
-
[解決済み] mutable' キーワードには、const 関数で変数を変更できるようにする以外の目的があるのでしょうか?