为什么Generic类型只用于Object?

时间:2010-12-27 10:19:02

标签: java generics wildcard

我的意思是

interface A <T> {
}

class AImpl implements A < Integer > { // why not A< int >
}

我已阅读此article并使用Google搜索但仍然不知道为什么它只针对Object而不是原始数据类型(int,void)?

2 个答案:

答案 0 :(得分:3)

这不仅仅是通配符 - Java泛型根本不支持原始类型作为类型参数。

有关Java Generics的更多信息,请参阅Java Generics FAQthis question in particular

答案 1 :(得分:0)

泛型不适用于int,float,boolean等,因为基本类型不具有基于对象的类型具有的所有关联元数据和结构。在Java中,原始类型就是原始类型。所有相关的元数据都可以实现泛型,反射,子类化等等。