gpt4 book ai didi

java - Java 上的 "T..."是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:27:27 26 4
gpt4 key购买 nike

查看the Array class on libgdx的方法.我找到了这个方法:

public void addAll (T... array) {
addAll(array, 0, array.length);
}

我以前从未见过“T...”,事实证明无论是在 Google 上还是在 Stack Overflow 上搜索“T...”都非常困难。我想我了解泛型,但“...”对我来说是新的。

这是什么意思?因此,例如,如果 T 是字符串,那么我将如何使用此方法?我为什么要用它?这与使用“T[]”有何不同?

最佳答案

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

可变参数是在 Java 5 中引入的。

关于java - Java 上的 "T..."是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21314970/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com