首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用对象调用方法...作为参数

如何使用对象调用方法...作为参数
EN

Stack Overflow用户
提问于 2018-06-01 22:33:58
回答 3查看 487关注 0票数 1

我想知道如何调用期望Object...(Object[])作为参数的类方法。

现在我不能在编译时知道需要传递给它的多少参数,所以我不能像somemethod(1,2,3,4,5)那样做。

我正在做一些大的构建工作,比如:

代码语言:javascript
复制
if (param.lengts()==5) {
somemethod(1,2,3,4,5);
} elseif (param.lengts()==4) 
somemethod(1,2,3,4);
....

我试图通过List<>ArrayList<>,但没有成功。有没有一种简单的方法可以把我的动态数组转换成方法?我不能更改方法构造函数。

关于调用方法的问题,而不是方法内部的声明或读取参数。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-01 22:39:35

您可以对此使用变量参数:

代码语言:javascript
复制
private void somemethod(Integer.. array) {
}

然后这样叫它:

代码语言:javascript
复制
somemethod()    
somemethod(1)    
somemethod(1,2)

如果你有一个arraylist作为输入,你可以这样传递它:

代码语言:javascript
复制
someMethod(list.toArray(new Integer[list.size()]);
票数 1
EN

Stack Overflow用户

发布于 2018-06-01 23:01:46

传递一个数组。

代码语言:javascript
复制
Object[] params = ... build the array from the args 
somemethod(params);
...
void somemethod(Object... objs); 
票数 1
EN

Stack Overflow用户

发布于 2018-06-01 22:37:20

您可以使用var args:

方法声明:

代码语言:javascript
复制
void somemethod(Object ...){ }

用你需要的参数来调用这个方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50645778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档