Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
鉴于我不能将 var 用于不可表示的类型(空值、匿名类、某些单一方法类以及最重要的相交类型)。我最好不要使用它以获得更好的可读性和一致性(鉴于它仅适用于本地类型)?
感觉会被虐
var a = someObj.getSomeValue().getSomethingElse().returnsSomething();
虽然这可能主要是基于意见的,但我会说:不,它不是邪恶的。
var仅当变量的类型在编译时已经明确时才允许使用该关键字。此外,它会生成相同的字节码,所以没什么好担心的。
var
在某些情况下,例如null,var是不允许的。这不会使它变得邪恶,而是变得美好。如果不是这种情况,Java 将不再是静态类型的。(但是请注意,在您列出的大多数情况下都允许这样做。)
null
另外,我认为您的示例没有任何问题。由于您.returnsSomething()更愿意成为.getPerson()现实世界中的东西,因此读者很清楚这var是一个人。
.returnsSomething()
.getPerson()
和/或