看看the Array class on libgdx的方法。我发现了这个方法:
public void addAll (T... array) {
addAll(array, 0, array.length);
}
我从来没见过那个"T...“结果发现,搜索"T...“非常困难在Google上或者在Stack Overflow上。我想我理解泛型,但是"...“对我来说是新的。
那是什么意思?例如,如果T是字符串,那么我该如何使用此方法?我为什么要用它呢?这与使用"T[]“有什么不同呢?
发布于 2014-01-24 01:15:31
T...
只是一个varargs parameter,其中的元素类型恰好是T
,这是类的泛型类型参数。
关键是你可以像这样调用这个方法(假设array
是一个Array<String>
):
array.addAll("x", "y", "z");
它将等同于
array.addAll(new String[] { "x", "y", "z" });
这也可以在没有泛型的情况下使用。例如:
public static int sum(int... elements) {
int total = 0;
for (int element : elements) {
total += element;
}
return total;
}
Varargs参数是在Java5中引入的。
https://stackoverflow.com/questions/21314970
复制相似问题