试图制作一个arraylist给了我这个错误

时间:2015-01-15 15:03:38

标签: java generics syntax-error

我在下面的代码中的这一行收到错误:

listofmembers.add(Member);

尝试制作一个arraylist但是给我这个错误可能有人请帮我解决它 谢谢,我正在努力让我的图书馆课程保存我的会员和书籍,以便我可以将它们打印成列表

public class Library
{
    private ArrayList<Member>listofmembers;
    public Library()
    {
        listofmembers = new ArrayList<Member>();
    }
    public void storeMember(String Member)
    {
        listofmembers.add(Member);
    }
    public int numberOfMembers()
    {
        return Member.size();
    }
}

4 个答案:

答案 0 :(得分:5)

您正尝试将String添加到ArrayList<E>类型Member。那不行。将数组列表更改为ArrayList<String>,或将Member添加到listofmembers

声明public void storeMember(String Member)很可能是:

public void storeMember(Member member)
{
    listofmembers.add(member);
}

此外,numberOfMembers应该返回listofmembers.size(),而不是Member.size()

答案 1 :(得分:2)

您有两个语法错误:

1。 您缺少参数 name (并删除<>):

public void storeMember(Member member) {
   listofmembers.add(member);
}

2。 返回列表的大小(不是类?):

public int numberOfMembers() {
    return listofmembers.size();
}

答案 2 :(得分:-1)

不要像这样初始化你的ArrayList:list = new ArrayList<Member>(); 但是像这样:list = new ArrayList<>();

答案 3 :(得分:-1)

修复如下:

public class Library
{
    private ArrayList<Member>listOfMembers;
    public Library()
    {
        listOfMembers = new ArrayList<Member>();
    }
    public void storeMember(Member member)
    {
        listOfMembers.add(member);
    }
    public int numberOfMembers()
    {
        return listOfMembers.size();
    }
}

如果在ArrayList(成员)中添加成员(String),则缺少类型匹配。所以改变 public void storeMember(String Member)in public void storeMember(Member member)或者如果Member想要成为字符串更改ArrayList<String>。 以这种方式编写变量listOfMembers是一个很好的实践编程,而不是像你使用函数那样列出成员。 在numberOfMembers中,您必须返回arraylist的大小,而不是类Member的大小。 请记住包括班级成员。