簡體   English   中英

Java varargs(...)參數的數據類型是什么?

[英]What is the datatype of a Java varargs (…) parameter?

我試圖將main()中的信息添加到item類中,我將信息存儲在hashset中

我有3節課

  1. 項目 - 主要()

  2. libaray - addBandMembers函數

  3. Item - addband(String ... member)

我正在添加CD信息。 首先,我添加樂隊,#歌曲,標題 - 這很好

然后在另一個功能我試圖添加樂隊成員。 我想保持這些分開。 我遇到問題的地方是分配樂隊成員..

我理解Varargs如何工作只是不確定如何將其分配給字符串..

我只會顯示一些代碼來保持這篇文章簡單明了。

這就是我所擁有的:

主要()

item = library.addMusicCD("Don't Let Go", "Jerry Garcia Band", 15, "acid rock", "jam bands");
if (item != null) {
library.addBandMembers(item, "Jerry Garcia", "Keith Godcheaux");
library.printItem(out, item);
}

然后,這里調用的第一個函數..

public void addBandMembers(Item musicCD, String... members)
{

   //musicCD.addband(members);   // both cant find addband function..
    //Item.addband(members);

}

然后在另一個類我試圖添加信息..

 private String members;  


public void addband(String... member)
{
    this.members = member;     // error

}

如果我做私人字符串成員; 一個數組然后這個函數下面的錯誤..不兼容的類型..

 public String getMembers()
{
 return members;   
}

我怎樣才能做到這一點?

哦,你好,這是我的套裝..

public class Library
{
private Set<CD> theCDs = new HashSet<CD>();
private Set<DVD> theDVDs = new HashSet<DVD>();
private Set<Book> theBooks = new HashSet<Book>();

如果你需要查看更多代碼讓我知道..非常感謝你..

varargs參數解析為數組

所以,改變

private String members;  

private String[] members;  

更改getter以返回String數組而不是String。

String ... member給你一個數組,所以你看的是一個String []類型的成員。

我想,一旦你得到了,你就可以克服這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM