Java 10 では、var
C++ のような識別子が導入されましたauto
。申し訳ありませんmisjacksonの答えを参照してください。
auto
Java 10 より前は、キーワードに相当するものはありませんでした。同じループは次のように実現できます。
for ( Object var : object_array)
System.out.println(var);
Java にはローカル変数があり、そのスコープは定義されたブロック内にあります。C および C++ に似ていますが、auto または register キーワードはありません。ただし、Java コンパイラーは、明示的に初期化されていないローカル変数の使用を許可せず、コンパイル エラーを発生させます (コンパイラーが通常警告のみを出す C および C++ とは異なります)。礼儀:ウィキペディア。
Java には C++ のような主流の型推論はありませんでした。RFEがありましたが、これは「修正しない」として閉じられました。与えられたのは:
人間は、型宣言の冗長性から 2 つの点で恩恵を受けます。まず、冗長な型は貴重なドキュメントとして機能します。読者は getMap() の宣言を検索して、返される型を見つける必要はありません。第 2 に、冗長性により、プログラマーは目的の型を宣言できるため、コンパイラーが実行するクロス チェックの恩恵を受けることができます。