在Java中,如何将数组作为参数直接传递给函数?

1 java arrays function parameter-passing

我正在开发一个 Java 项目,并且有许多由不同脚本生成的数组(例如 {1, 2, 3, 5})。

我将这些数组放在记事本中,并希望将它们直接传递给一个函数,该函数会将它们放入 HashMap<String, Int[]> 形式的 hasmap 中。这些哈希映射随后将被放置在另一个哈希映射中。

现在我编写了一个函数,它接受创建更大哈希所需的参数(因此 Hashmap<Int, Hashmap<String, Int[]>>),该函数将 Int、String 和 Int[] 作为函数参数。

我的问题是,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,....可能更多数字或不是))?

我得到的错误是“此处不允许数组初始值设定项”。可以采取什么措施来解决这个问题?提前致谢!

Boh*_*ian 5

语法是:

\n
AddElement(1, "Numbers1", new int[]{1,2,3})\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x80\x94\xe2\x80\x94

\n

只有在声明变量/字段时才能使用简写版本,例如

\n
int[] myArray = {1, 2, 3};\n
Run Code Online (Sandbox Code Playgroud)\n