小编Ran*_*Tan的帖子

Java何时进行类型检查

我的作业中有一个这样的问题。

以下哪个过程仅在Java编译期间发生?

(i)类型推断–推断未指定类型的变量的类型。
(ii)类型擦除–用Object或其边界替换泛型的类型参数。
(iii)类型检查–检查该值是否与为其分配的变量的类型匹配。

A.仅(i)
B.仅(i)和(ii)
C.仅(i)和(iii)
D.仅(ii)和(iii)
E.(i),(ii)和(iii)

据我了解,Java仅在编译时对泛型进行类型检查,因此(i)和(ii)绝对正确。但是,我不确定类型检查,从提供的描述来看,类型检查似乎并不限于泛型,还包括其他方面。

这个问题的解决方案是B,但是没有给出解释。我当时在想,什么时候进行类型检查?如果它不仅在编译时发生,还是在编译时和运行时都发生,还是仅在运行时发生,为什么?

java generics type-inference typechecking type-erasure

6
推荐指数
1
解决办法
258
查看次数