大家来看看这端程序,我最出发在csdn里 import java.util.ArrayList; public class Fangxin { class Product { ===================================== 编译器:不通过,说无法将Product中的prt(java.util.List<java.lang.String>)应用于(java.util.List<java.lang.Integer>) 但改变代码为这样后 import java.util.ArrayList; class Product <T> { ===========================================
原因是这样的:(也要感谢kezhu2003(炎阳天)的帮助) generic class Product<T>在JVM运行时是不存在的,Product叫原始类型,原始类型不是类型安全的.这个在编译时是检测不出的,运行时才报错. 但product非generic class 则 prt(List<String> l)在jvm编译时会对l进行类型检查, Lsit<String> l 是类型安全的,因为其用了generic collection 所以会报错,编译不通过。
所以建议大家多用泛型,这样可以避免很多麻烦 |
|
来自: shaobin0604@1... > 《Java》