3

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

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

4

4 回答 4

4

<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);
于 2010-04-12T13:15:09.097 回答
2

这只是意味着您将从您输入的方法中获得相同的类,以将其保存为 Object 并且您必须一直进行转换。

于 2010-04-12T13:14:58.410 回答
0

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

于 2010-04-12T13:14:26.333 回答
0

它是通用参数。如果你写那么

string s = ...;
clone(s); // will be expanded to string clone(string x)
于 2010-04-12T13:15:49.287 回答