【发布时间】:2020-10-27 15:04:23
【问题描述】:
我正在处理一个 Java 项目,并且有许多由不同脚本生成的数组(例如 {1、2、3、5})。
我在记事本中有这些数组,并希望将它们直接传递给一个函数,该函数会将它们放入 HashMap
现在我编写了一个函数,它接收创建更大哈希所需的参数(因此是 Hashmap 我的问题是,Java 希望我先组成一个 Int[](例如 array_of_numbers1 = {1, 2, 3}),然后才允许我将该 Int[] 作为参数传递给创建 HashMap 的函数。 我有什么方法可以直接执行此操作,而无需先创建一个 Int[] 变量,然后再将其传递给函数?那么直接将数组传入函数调用中? 我希望我的函数调用看起来像(我的函数是:Public Void AddElement(Int, String, Int[])) AddElement(1, "Numbers1", {1,2,3}) 等。
这种传递参数的方式是否可行?是否可以以不同的方式完成,以便我仍然可以使用列表或数字序列,它们将一起放置在数组中(在函数中),这样我就不必先初始化 Int[] 数组(比如 AddElement(1, "Numbers1", 1, 2, 3,.... 可能有更多的数字))? 我得到的错误是“此处不允许使用数组初始化程序”。可以做些什么来解决这个问题?
提前致谢!
【问题讨论】:
-
你想要可变参数。
int... ex是int[] ex的语法糖,但允许您使用参数列表的末尾作为数组输入,例如callMethod(1, 2, 3)
标签: java arrays function parameter-passing