鉴于我不能将var用于不可表示的类型(Nulls,Anonymous Classes,Some Single Method Class,最重要的是相交类型)。我最好不要使用它以获得更好的可读性和一致性(鉴于它仅适用于本地类型)?
我觉得它会被滥用,
var a = someObj.getSomeValue().getSomethingElse().returnsSomething();
答案 0 :(得分:6)
虽然这可能主要是基于意见的,但我会说:不,这不是邪恶的。
只有在编译时变量的类型已经清除时才允许var
关键字。此外,它将生成相同的字节码,因此没有什么可担心的。
在某些情况下,例如null
,var
是不允许的。这并不会使它变得邪恶,而是相当好。如果不是这种情况,那么Java将不再是静态类型。 (请注意,在您列出的大多数情况下, 是允许的。)
另外,我没有看到你的例子有任何问题。由于您的.returnsSomething()
在现实世界中更像是.getPerson()
,因此读者会清楚var
是一个人。