繁体   English   中英

Java泛型编译时错误和原始类型

[英]Java Generics compile time error and raw types

根据jls8 doc,如果参数化类型的格式不正确,则会出现编译时错误..根据doc,

如果以下所有条件都为真,则参数化类型 C 是良构的:

  • C 是泛型类型的名称。
  • 类型参数的数量与 C 的泛型声明中类型参数的数量相同。
  • 当进行捕获转换(第 5.1.10 节)导致类型 C 时,每个类型参数 Xi 是
    S[F1:=X1,...,Fn:=Xn] 对于 Bi 中的每个绑定类型 S。

如果参数化类型的格式不正确,则会出现编译时错误。

但是原始类型的格式不符合第 2 点..为什么将变量声明为合法:

ArrayList array = new ArrayList();

JLS 8 秒 4.5

参数化类型是C<T1,...,Tn> ... 形式的类或接口类型

原始类型没有<>或任何T参数。 因此,它不是参数化类型,因此您引用的规则不适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM