瓦拉格
varargs:可变数量的参数
某些方法可能需要可变数量的参数,具体取决于您的应用程序。
一个示例是打开 Internet 连接并可以接收用户名、密码、文件名、协议等参数的方法。
如果未传递某些信息,该方法可以使用这些参数的默认值。
具有可变长度参数的方法允许仅传递必要的参数。
在 JDK 5 之前,这些方法是通过重载或数组来处理的,这是一种有限且笨拙的方法。
从 JDK 5 开始,引入了 varargs 功能,这使得创建具有可变数量参数的方法变得更加容易。
Varargs 是“可变长度参数”的缩写。
可变参数方法的参数列表是可变长度的,允许它接收可变数量的参数。
可变参数的基本方面
可变长度参数列表由三个点 (...) 指定。
要创建接收可变数量参数的方法,请在方法声明中使用这三个点。
vaTest() 方法就是一个示例,它演示了如何实现此功能。
请注意 v 被声明为:int ... v
带有 ... 的语法告诉编译器可以使用零个或多个参数调用 vaTest()。
参数 v 隐式声明为 int[] 类型的数组。
在 vaTest() 方法中,使用通用数组语法访问 v。
一个完整的程序可以演示vaTest()的使用。
在 vaTest() 中,参数 v 被视为数组,因为它实际上是一个数组。
... 语法告诉编译器将使用可变数量的参数,这些参数将存储在数组 v 中。
在 main() 方法中,使用不同数量的参数调用 vaTest(),包括没有参数。
当没有参数时,数组 v 的大小为零。
方法可以具有公共参数和可变长度参数,但可变参数必须是最后声明的。
在这种情况下,第一个参数将传递给公共参数,其余的将传递给 vals。
可以重写 vaTest() 方法,以除了可变参数之外还采用通用参数。
varargs 参数必须是方法参数列表中的最后一个。
不允许在 varargs 参数之后声明公共参数;这会产生错误。
一个方法中只能声明一个可变参数。
尝试在同一方法中声明多个 varargs 参数,例如 int ... vals 后跟 double ... morevals,是无效的并会生成错误。
以上就是瓦拉格的详细内容,更多请关注www.sxiaw.com其它相关文章!