Java泛型编程中的类型擦除问题示例
在Java的泛型编程中,类型擦除是一个常见的现象,它发生在编译阶段,将泛型类型转化为具体的类型。
以下是一个类型擦除问题的示例:
// 泛型类
public class GenericBox<T> {
private T content;
public void setContent(T content) {
this.content = content;
}
public T getContent() {
return content;
}
}
// 类使用时的类型擦拭
List<String> stringList = new GenericBox<String>("Hello").getContent();
在这个示例中,GenericBox<T>
是一个泛型类,它可以存储任何类型的对象。然后在使用时,我们将具体的类型String
传递给getContent()
方法。
编译后,T
这个泛型类型就被擦除了,stringList
就是列表类型List<String>
。
还没有评论,来说两句吧...