web-dev-qa-db-ja.com

Java 10でvarを使用する必要がありますか?

表示できない型(ヌル、匿名クラス、いくつかの単一メソッドクラス、そして最も重要な交差型)にvarを使用できないことを考えると。読みやすさと一貫性を高めるために使用しない方がよいでしょうか(ローカルタイプのみの場合)。

虐待されるような気がしますが、

var a = someObj.getSomeValue().getSomethingElse().returnsSomething();
9
Antho Christen

これはおそらく主に意見に基づいていますが、私はこう言います:いいえ、それは悪ではありません。

varキーワードは、変数の型がコンパイル時にすでにクリアされている場合にのみ許可されます。また、同じバイトコードが生成されるため、心配する必要はありません。

nullvarなどの場合は許可されません。これはそれを悪にするのではなく、むしろ良いものにします。そうでない場合、Javaは静的に型付けされなくなります(ただし、isは許可されます)。あなたがリストしたほとんどの場合。)

また、あなたの例には問題はありません。あなたの.returnsSomething()は現実の世界ではむしろ.getPerson()のようなものになるので、varがPersonであることは読者には明らかです。

8
Impulse The Fox