private static <t> T cloneX(T x) - <t>在这里表示什么?</t> </t>

时间:2010-04-12 13:11:31

标签: java generics method-signature

在上面的声明中,<T>是什么?

我想知道<T>与没有它之间的区别?它如何影响代码?

4 个答案:

答案 0 :(得分:3)

<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);

答案 1 :(得分:1)

它只是意味着您将从您放入的方法中获得相同的类,将其保存为Object并且您必须一直投射。

答案 2 :(得分:0)

<T>是您传递给该泛型方法的参数的类型。

答案 3 :(得分:0)

这是通用参数。如果你写的话

string s = ...;
clone(s); // will be expanded to string clone(string x)