このステートメントには冗長な情報がたくさんあります – プログラマにこれほど明示的な指定を求めるのではなく,コンパイラ自身がもっと情報を検出できるようにするべきです。 実際にScalaなどの言語では,式から多くの型推論を行うことによって,このようにシンプルな代入式を書くことができます: val m = Map("x" -> 24, "y" -> 25, "z" -> 26); valというキーワードは,この変数が再割り当てされないようにするためのものです (Java変数のfinalキーワードに相当します)。 変数についての型情報はまったく指定されていません – 代わりにScalaコンパイラが代入式の右辺を調べて,代入される値を評価することで,変数の型を適切に判断してくれるのです。 Java 7では,限定された範囲の型推論機構が導入されました。次のような代入式の記述が可能になっています: M
