试图制作一个数组列表给我这个错误

trying to make an arraylist gives me this error

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

listofmembers.add(Member);

正在尝试制作一个数组列表,但出现此错误有人可以帮我修复它吗 谢谢,我正在尝试让我的图书馆 class 保存我的会员和书籍,以便我可以将它们作为列表打印

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();
    }
}

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

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

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

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

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

您有两个语法错误:

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

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

2。 Return列表的大小(不是class?):

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

像这样修复它:

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 中添加成员(字符串),则您缺少类型匹配。所以改变 public void storeMember(String Member) in public void storeMember(Member member) 或如果 Member 想成为字符串更改 ArrayList<String>。 这是一个很好的编程实践,以这种方式编写变量 listOfMembers 而不是 listofmembers 就像您对函数所做的那样。 在 numberOfMembers 中,您必须 return arraylist 的大小而不是 class 成员的大小。 请记住包括 class 成员。