0

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

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

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

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

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

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

然后数组中有这三个字符串。我怎么能做这样的事情,因为这显然行不通?

4

2 回答 2

2

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

public void setMessages(String[] messages)

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

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

setMessages(new String[] {"Message 1", "Message 2", "Message 3"});
于 2013-11-09T06:05:23.350 回答
-1

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

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

什么是可变参数

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

     setMessages(new String[] {"Message 1", "Message 2", "Message 3"});
    
于 2013-11-09T06:05:23.443 回答