44

Java 10 では、ローカルの型推論にC#に似たvarキーワードが導入されています。

しかし、Scala に見られるように、Java 10 もvalキーワードを提供しますか?

valのように動作varしますが、バインディングは になりますfinal

var x = "Hello, world. ";
x = "abc"; // allowed

val y = "Hello, world. ";
y = "abc"; // forbidden

そうでない場合、これが事実である理由はありますか?

4

3 に答える 3

8

final varJavaにはそのためのものがあるからです。もしそうならval、同じことを意味するものが 2 つあるでしょう。これは良くない。特定のものを表現する方法は 1 つしかないはずです。

于 2018-05-26T15:20:13.697 に答える
7

「val」、つまり「final var」を使いたい場合は、Lombok の valをいつでも使用できます。

于 2019-11-26T13:15:37.727 に答える