【发布时间】:2010-04-12 13:11:31
【问题描述】:
在上面的声明中,<T> 是什么意思?
我想知道拥有<T> 和没有拥有它的区别?它对代码有何影响?
【问题讨论】:
-
反引号中的环绕代码 sn-ps。你的
<T>没有出现。
标签: java generics method-signature
在上面的声明中,<T> 是什么意思?
我想知道拥有<T> 和没有拥有它的区别?它对代码有何影响?
【问题讨论】:
<T> 没有出现。
标签: java generics method-signature
<T> 这里表示类型是从参数中隐含的。所以:
public static <T> List<T> createList(T... args) {
List<T> ret = new ArrayList<T>(Arrays.asList(args));
}
可以使用:
List<String> list = createList("one", "two", "three");
或
List<Integer> list2 = createList(1, 2, 3);
【讨论】:
这只是意味着您将从您正在输入的方法中获得相同的类,以将其保存为 Object 并且您必须一直进行转换。
【讨论】:
<T> 是您传递给该通用方法的参数的类型。
【讨论】:
它是通用参数。如果你写那么
string s = ...;
clone(s); // will be expanded to string clone(string x)
【讨论】: