日期:2014-05-20  浏览次数:20686 次

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

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

其中的 <T> T 是什么意思,这么奇怪?

------解决方案--------------------
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();来泛型化返回值了
------解决方案--------------------
Java docs的这部分对楼主应该有用
http://java.sun.com/docs/books/tutorial/java/generics/genmethods.html