Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java varargs(…)参数的数据类型是什么?_Java - Fatal编程技术网

Java varargs(…)参数的数据类型是什么?

Java varargs(…)参数的数据类型是什么?,java,Java,我正在尝试从main()添加信息 将信息存储在哈希集中的items类 我有三节课 项目-main() libaray-addBandMembers函数 Item-addband(字符串…成员) 我正在添加CD信息。首先,我添加了乐队,歌曲,标题-这很好 然后在另一个函数中,我尝试添加乐队成员。我想把这些分开。 我遇到的问题是分配乐队成员 我知道Varargs是如何工作的,只是不知道如何将其分配给字符串 我将只展示一些代码,使这篇文章简洁明了 这就是我所拥有的: Main() 然后,这里调用的第一

我正在尝试从main()添加信息 将信息存储在哈希集中的items类

我有三节课

  • 项目-main()

  • libaray-addBandMembers函数

  • Item-addband(字符串…成员)

  • 我正在添加CD信息。首先,我添加了乐队,歌曲,标题-这很好

    然后在另一个函数中,我尝试添加乐队成员。我想把这些分开。 我遇到的问题是分配乐队成员

    我知道Varargs是如何工作的,只是不知道如何将其分配给字符串

    我将只展示一些代码,使这篇文章简洁明了

    这就是我所拥有的:

    Main()

    然后,这里调用的第一个函数

    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>();
    
    公共类库
    {
    private Set theCDs=new HashSet();
    private Set theDVDs=new HashSet();
    private Set theBooks=new HashSet();
    
    如果您需要查看更多代码,请告诉我。。
    非常感谢您。

    更改getter以返回字符串数组而不是字符串。

    字符串…成员为您提供了一个数组,因此您要查看的是字符串[]类型的成员

    我认为,一旦你明白了这一点,你就有点克服了问题的症结。

    A解决了一个问题

    所以,改变

    private String members;  
    


    如何将公共字符串getMembers()函数作为数组返回?将
    公共字符串getMembers()
    替换为
    公共字符串[]getMembers()
    。请单击“数组”后面提供的链接要了解有关数组的更多信息。如果您想更进一步,请转到集合API:a
    列表
    字符串[]
    更容易/更好/更好处理。使用您关于集合的建议..我是否可以像这样处理私有列表成员,而不是私有字符串[]成员们?老实说,我认为最好退一步,在这里(重新)做“覆盖基础的跟踪”:老实说,再一次,所有这些看起来都是因为您对如何用Java编写代码缺乏基本的了解,而这不仅仅是varargs。我强烈建议您查看关于“覆盖基础的跟踪”的链接我以前建议过。它应该能让你了解所有你需要知道的琐碎事情。我也有点惊讶,你在你的问题中发布的代码显示了这么多。在发布的代码中有了经过验证的知识,你应该已经能够自己解决这些小问题了。发布的代码是从其他人那里复制的吗?
    private String members;  
    
    private String[] members;