如何动态构建列表并将其作为方法参数传递?

Arv*_*ran 3 java arrays list

我有一个像这样的方法:

List < Object > getObjects(List<Integer> ids)
Run Code Online (Sandbox Code Playgroud)

我想使用整数(比如一些int)动态构建一个列表(作为参数),而不是在局部变量中创建和存储列表然后传递它.

List<Integer> intList = new ArrayList<Integer>();
intList.add(a);
getObjects(intList)
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

Tom*_*icz 9

你可以使用Arrays.asList():

getObjects(Arrays.asList(a));
Run Code Online (Sandbox Code Playgroud)

或者,Collections.singletonList()如果您只有一个值(更快,更紧凑):

getObjects(Collections.singletonList(a));
Run Code Online (Sandbox Code Playgroud)

提示:考虑静态导入:

import static java.util.Arrays.asList;
import static java.util.Collections.singletonList;

getObjects(asList(a));
getObjects(singletonList(a));
Run Code Online (Sandbox Code Playgroud)