gpt4 book ai didi

java - 如何将 ArrayList 传递给 varargs 方法参数?

转载 作者:行者123 更新时间:2023-12-02 02:17:43 24 4
gpt4 key购买 nike

基本上我有一个位置数组列表:

ArrayList<WorldLocation> locations = new ArrayList<WorldLocation>();

下面我调用以下方法:

.getMap();

getMap()方法中的参数为:

getMap(WorldLocation... locations)

我遇到的问题是我不确定如何传递 locations 的整个列表进入该方法。

我已经尝试过

.getMap(locations.toArray())

但是 getMap 不接受它,因为它不接受 Objects[]。

现在如果我使用

.getMap(locations.get(0));

它将完美地工作...但我需要以某种方式传递所有位置...我当然可以继续添加 locations.get(1), locations.get(2)等等,但数组的大小有所不同。我只是不习惯 ArrayList 的整个概念

解决这个问题最简单的方法是什么?我觉得我现在没有好好思考。

最佳答案

来源文章:Passing a list as an argument to a vararg method

<小时/>

使用toArray(T[] arr)方法。

.getMap(locations.toArray(new WorldLocation[0]))
<小时/>

这是一个完整的示例:

public static void method(String... strs) {
for (String s : strs)
System.out.println(s);
}

...
List<String> strs = new ArrayList<String>();
strs.add("hello");
strs.add("world");

method(strs.toArray(new String[0]));
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^
...

关于java - 如何将 ArrayList 传递给 varargs 方法参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292771/

24 4 0