我读到,在类型擦除过程中,Java 编译器会擦除所有类型参数,如果类型参数有界,则用其第一个界限替换每个参数,如果类型参数无界,则用 Object 替换。但是,我无法理解,指定类型参数需要实现的接口不是多余的吗?例如:
public class Box<T extends Something,Seralizable,Cloneable>
如果擦除将T类内部替换Box为Something(类引用),是不是意味着接口:Seralizable,Cloneable必须由 Something 类实现,所以只有我觉得指定Seralizable,Cloneable接口是多余的?此外,如果菱形内仅提及接口,默认情况下是否将其T视为Object参考,会发生什么情况?
我很高兴能提供一个泛型类的示例和一个泛型方法的示例(如果泛型方法中存在多个扩展)。
杨__羊羊
函数式编程
随时随地看视频慕课网APP
相关分类