gpt4 book ai didi

java - 在Java中使用省略号(...)?

转载 作者:IT老高 更新时间:2023-10-28 21:19:13 25 4
gpt4 key购买 nike

我正在查看一些代码并看到以下符号。我有点不确定这三个点是什么意思,你怎么调用它们。

void doAction(Object...o);

谢谢。

最佳答案

表示这个方法可以接收多个Object作为参数。为了更好地理解,请查看 here 中的以下示例:

The ellipsis (...) identifies a variable number of arguments, and is demonstrated in the following summation method.

static int sum (int ... numbers)
{
int total = 0;
for (int i = 0; i < numbers.length; i++)
total += numbers [i];
return total;
}

Call the summation method with as many comma-delimited integer arguments as you desire -- within the JVM's limits. Some examples: sum (10, 20) and sum (18, 20, 305, 4).

这非常有用,因为它允许您的方法变得更加抽象。也检查一下这个不错的example来自 SO,用户是否利用 ... 表示法制作了一种在 Java 中连接字符串数组的方法。

来自 Variable argument method in Java 5 的另一个例子

public static void test(int some, String... args) {
System.out.print("\n" + some);
for(String arg: args) {
System.out.print(", " + arg);
}
}

如评论部分所述:

Also note that if the function passes other parameters of different types than varargs parameter, the vararg parameter should be the last parameter in the function declaration public void test (Typev ... v , Type1 a, Type2 b) or public void test(Type1 a, Typev ... v recipientJids, Type2 b) - is illegal. ONLY public void test(Type1 a, Type2 b, Typev ... v)

关于java - 在Java中使用省略号(...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13665930/

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