这个泛型语法是什么意思?

dddeee 2007-12-14 11:58:22
这个泛型语法是什么意思?

class Gen<T> {
public static <T> T create() {
return (T)new Object();
}
}

其中的 <T> T 是什么意思,这么奇怪?
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dddeee 2007-12-14
  • 打赏
  • 举报
回复
我只知道 public T xxx() {} 中的T,表示返回T类型,但是<T> T 呢?那个"<"">"有什么用?
ltc_mouse 2007-12-14
  • 打赏
  • 举报
回复
JhunHoonXZ 2007-12-14
  • 打赏
  • 举报
回复
class Gen <T> {
public static <T> T create() {
return (T)new Object();
}
}

你可以这么理解
T是一个Class变量
<T>是一个入口点,给T赋值
比如Gen<String> gen=new Gen();

因为create()是静态
所以可以直接调用,而不用创建对象

但是不创建对象的话,我们调用Gen.create()就无法泛型化这个返回值了
而public static <T> T create()这样写了以后
就可以Gen.<String>create();来泛型化返回值了

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧