Class<T> 与T有啥区别?Class<T>该如何使用?


我觉得T不就是能代表所有泛型呢,为什么还搞一个Class?

泛型 java

传说中的哥特 9 years, 10 months ago

Class 是指类(Class)
T 是指 对象(Object)

2001911 answered 9 years, 10 months ago

Class 首先是个Class对象,描述的意思是构建T这个类型的模板

T 是个T对象,描述的意思是这个对象是T这个类型。

打个比方,T=人的时候,T a 表示的意思是:a=具体某个人,具体某个人可能是张三可能是李四……(好土);
Class a表示的意思是:a=人类,这个种族。有点近似其他语言的type的意思。

什么地方使用呢:你只能提供这个type却没办法提供一个具体的实例的时候(你只能告诉卖家我要买苹果却不能拿一个苹果给他看告诉它我要买这个东西的时候)。网上常见的例子就是利用反射实例化1个T对象...etc.

我是个壞蛋 answered 9 years, 10 months ago

Your Answer