Java varargs - 为什么这些语法 Not Acceptable ?

标签 java compilation variadic-functions definitions signatures

我有这个练习题用于我的 OCAJP8 考试准备。有人可以解释一下为什么“错误”是错误的吗?谢谢。

Which of the following compile?

Response

Wrong   
public void moreD(String... values, int... nums) {}

Wrong   
public void moreF(String... values, int[] nums) {}

Correct 
public void moreB(String values, int... nums) {}

Correct 
public void moreG(String[] values, int[] nums) {}

Correct 
public void moreA(int... nums) {}

Wrong   
public void moreC(int... nums, String values) {}

最佳答案

引自https://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html

Varargs can be used only in the final argument position.

关于Java varargs - 为什么这些语法 Not Acceptable ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43814905/

相关文章:

c++ - 如何在 printf 上创建包装器?

Python 试图在 *args 之后放置关键字参数

java - SQL Server Java 兼容 GUID/UUID(Big Endian 唯一标识符)

java - 强制获取 GPS 位置

Java HashMap 冲突示例不工作

java - 正则表达式变音符号

python - 如果更改 python 中编译和查找的顺序,为什么性能会有所不同

linux - 对 linux/mac 的文件更改运行操作?

c - 奇怪的 undefined symbol 错误

c - 不指定参数数量的可变参数函数