在方法参数中设置数组项

时间:2013-11-09 06:03:50

标签: java arrays parameters

我想在方法的参数中设置字符串数组中的项目。

所以,如果我有一个数组,public String[] messages;

然后我有一个方法, public void setMessages()

我希望能够使用参数来设置数组中的项目,如下所示:

public void setMessages(String[] messages) {
   this.messages = messages;
}

setMessages("Message 1", "Message 2", "Message 3");

然后数组中有三个字符串。我怎么能这样做,因为这显然不起作用?

2 个答案:

答案 0 :(得分:2)

您的setMessages方法接受数组,而不是这里提到的三个String参数:

public void setMessages(String[] messages)

所以你需要传递一个数组。只需更换

setMessages("Message 1", "Message 2", "Message 3");

setMessages(new String[] {"Message 1", "Message 2", "Message 3"});

答案 1 :(得分:-1)

更改方法签名以接受messages作为可变长度参数,或简称为vararg。

public void setMessages(String... messages) {
    this.messages = messages;
}

什么是varargs

  • 它们相当于一个相同类型的数组(所以上面,你仍然有一个String[])。
  • 它们允许任意数量的值放入其中。
  • 他们不需要调用者创建要传入的数组的新实例(看起来像这样):

     setMessages(new String[] {"Message 1", "Message 2", "Message 3"});