我应该在Java 10中使用var吗?

时间:2018-04-26 10:17:27

标签: java java-10

鉴于我不能将var用于不可表示的类型(Nulls,Anonymous Classes,Some Single Method Class,最重要的是相交类型)。我最好不要使用它以获得更好的可读性和一致性(鉴于它仅适用于本地类型)?

我觉得它会被滥用,

var a = someObj.getSomeValue().getSomethingElse().returnsSomething();

1 个答案:

答案 0 :(得分:6)

虽然这可能主要是基于意见的,但我会说:不,这不是邪恶的。

只有在编译时变量的类型已经清除时才允许var关键字。此外,它将生成相同的字节码,因此没有什么可担心的。

在某些情况下,例如nullvar是不允许的。这并不会使它变得邪恶,而是相当好。如果不是这种情况,那么Java将不再是静态类型。 (请注意,在您列出的大多数情况下, 是允许的。)

另外,我没有看到你的例子有任何问题。由于您的.returnsSomething()在现实世界中更像是.getPerson(),因此读者会清楚var是一个人。