将对象数组作为方法参数传递

时间:2019-03-30 18:20:33

标签: java arrays object

我试图将java中的对象数组作为方法的参数传递。我想填充该数组中的对象并返回对象的完整数组。当我尝试执行此操作时,编译器给我一个参数错误 “语法错误,插入“ ... VariableDeclaratorId”以完成  “ FormalParameterList”可能意味着很多不同的东西。是否还有其他我没有考虑或忘记的语法?代码在下面

public Object[] makeObjects(Object[], int choice) {
                          //  ^^^ Error is here
}

4 个答案:

答案 0 :(得分:1)

您需要在函数定义中为对象数组命名。

public Object[] makeObjects(Object[] name, int choice) {

}

答案 1 :(得分:1)

public Object[] makeObjects(Object[], int choice) {
                          //  ^^^ Error is here
}

必须为您的所有参数命名。你想要这样的东西...

public Object[] makeObjects(Object[] someVariableName, int choice) {
    // ...
}

答案 2 :(得分:0)

我错误地理解您只需要一个参数:“假设您想要一个称为choice的参数,它是一个整数数组。”

public Object[] makeObjects(int[] choice) {
    // insert your code here
}

进一步分析评论后,我向您提出疑问。

public Object[] makeObjects(Object[] options, int choice) {
    // insert your code here
}

只是缺少变量名,而不是错误定义的变量类型。

答案 3 :(得分:0)

问题是您忘记了Object[]的参数名称:

public Object[] makeObjects(Object[] items, int choice) {}

您可能需要考虑的另一件事,如果您的方法需要我更灵活,则可以使用Object...语法,但是您必须为此交换参数:

public Object[] makeObjects(int choice, Object... items) {}

这允许您传递参数的动态列表或普通数组:

makeObjects(choice, item0, item1, item2)

Object[] items = new Object[] {};
makeObjects(choice, items);