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