【发布时间】:2018-03-22 09:00:53
【问题描述】:
看完Java 10s新的保留类型名var
(JEP 286: Local-Variable Type Inference),讨论中出现了一个问题。
将它与以下文字一起使用时:
var number = 42;
number 现在是 int 还是 Integer?如果您只是将它与比较运算符或作为参数一起使用,它通常无关紧要,这要归功于自动装箱和 -unboxing。
但由于 Integers 的成员函数,它可能很重要。
那么var创建的类型是原始的int还是类Integer?
【问题讨论】:
-
尽管如此,一种方法是肯定尝试一下,您可以尝试看到
number instanceof Integer不适用于您的情况(因为instanceof不适用于原始类型) .另一方面,如果数字将被转换为(Integer) 42。 It would have worked.
标签: java type-inference local-variables java-10