前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
类型通配符一般是使用?代替具体的类型参数。例如List<?>在逻辑上是List,List等所有List<具体类型
实参>的父类。
Java 中的泛型基本上都是在编译器这个层次来实现的。在生成的 Java 字节代码中是不包含泛型中
的类型信息的。使用泛型的时候加上的类型参数,会被编译器在编译的时候去掉。这个过程就称为类型
擦除。
如在代码中定义的 List和 List等类型,在编译之后都会变成 List。 JVM 看到的只是 List,而由泛型
附加的类型信息对 JVM 来说是不可见的。
类型擦除的基本过程也比较简单,首先是找到用来替换类型参数的具体类。这个具体类一般是
Object。如果指定了类型参数的上界的话,则使用这个上界。把代码中的类型参数都替换成具体的类。