Java 如何将列表中的项作为单个参数传递给函数?

Java 如何将列表中的项作为单个参数传递给函数?,java,Java,比如说 我有一份清单: List examp=new ArrayList() 我想将列表中的项作为参数传递给函数 公共作废示例(示例1、示例2、示例3……) 其中example1,example2都是数组列表项example.get(index)以获取索引处的元素 例如: Example(examp .get(0), examp .get(1), examp .get(20) 另一种方法: example(examp); 你的方法签名应该是 public void example(List&

比如说

我有一份清单:

List examp=new ArrayList()

我想将列表中的项作为参数传递给函数

公共作废示例(示例1、示例2、示例3……)

其中
example1
example2
都是数组列表项

example.get(index)
以获取索引处的元素

例如:

Example(examp .get(0), examp .get(1), examp .get(20)
另一种方法:

example(examp);
你的方法签名应该是

public void example(List<int> args);
公共作废示例(列表参数);
列表索引从零开始


一个建议:Java命名约定在方法签名中使用小写字母作为第一个字母。

Q:如何将列表中的项作为单个参数传递给函数

A:

List exampleList=new ArrayList();
//将此选项用于列表中的一些特定项目
公共void示例1(整数arg1、整数arg2、整数argc);
...
Example1(exampleList.get(0)、exampleList.get(1)、exampleList.get(2));
//使用此选项传递许多项(只需传递整个列表)
公共无效示例2(列表参数);
...
示例2(示例列表);

您可以使用varargs定义方法:

void exampleMethod(Example... example) {
  // ...
}
然后像这样传递它们:

exampleMethod(examp.get(0), examp.get(1), examp.get(6);  // individual examples
exampleMethod(examp.toArray(new Example[]{}));           // all examples at once

但是,与直接传递列表相比,我看不出有什么明显的优势…

如果列表很大,我需要单独传递它们怎么办?您的函数是否也有数量惊人的参数?(不管怎样,看起来你应该首先重新组织你的代码以避免这个问题。)@kaushikpop:这正是我想问的问题,你的函数是否需要接受列表中的所有内容作为助手?如果您事先不知道要传递多少个参数,那么传递list-thill是查找每个项的最佳选项。最好将列表作为参数传递,然后处理它以获取相应的元素这比传递数组提供了什么实用程序?访问所有这些参数的唯一方法是使用列表(考虑到Java方法重载的工作方式)。您所要求的告诉我您的设计确实有问题。在“Example”函数中传递所有列表,并在该函数中使用examp.get(i)这不会编译,因为基元类型不能用作泛型,只有对象可以。@polygenme-您当然是对的:)。我编辑了这篇文章。我想说的是“泛型应该比原始对象更受欢迎”,同意吗?
exampleMethod(examp.get(0), examp.get(1), examp.get(6);  // individual examples
exampleMethod(examp.toArray(new Example[]{}));           // all examples at once