我正在尝试改进以下方法的类型安全性:
A<String> method(B<String> arg);
如何确保不使用原始类型B
调用此方法,并且该编译器始终检查指定的String类型?
答案 0 :(得分:6)
您无法阻止某人使用原始类型调用方法。
原因是为了与Java的预通用版本向后兼容。
答案 1 :(得分:1)
如果打开编译器警告(-Xlint:unchecked
),如果使用原始类型调用该方法,则会收到警告:
警告:[未选中]未选中的转化A a =方法(新B());