返回arraylist错误

时间:2016-02-13 16:00:34

标签: java arrays arraylist

我一直在尝试创建一个类来确定arraylist中的一组整数是否是另一个arraylist的子集。

但是,每当我尝试编译时,我都会收到“错误:不兼容的类型:ArrayList无法转换为int”,并且看起来“返回成员”正在导致它。

有人能告诉我“回归会员”有什么问题吗?任何帮助将不胜感激。

// Define the Set class

import java.util.ArrayList;

class Set {

    private ArrayList<Integer> members;

    public Set()
    {
        members = new ArrayList<Integer>();
    }

    public int getMembers()
    {
        return members;
    }

    public void setMembers()
    {
        this.members = members;
    }

    // toString() method
    public String toString() 
    {
        return "Set A is a subset of set B.";
    }

    // Return true if 'this' is a subset of 'set', 
    // otherwise return false.
    public boolean isSubset(Set set) 
    {
        for(int i = 0; i < this.members.size(); i++)
            if(!members.contains(this.members.get(i)))
                return false;

        return true;
    }
}

2 个答案:

答案 0 :(得分:0)

这个方法是你的问题:

public int getMembers()
{
    return members;
}

错误的返回类型,请将其更改为:

public ArrayList<Integer> getMembers()
{
    return members;
}

你的setMembers()也没有做任何事情,把它自己设置为自己。它应该改为:

public void setMembers(ArrayList<Integer> newMembers)
{
    this.members = newMembers;
}

答案 1 :(得分:0)

你在第一名犯了错误。在getMenbers()中改变了返回类型。您正在返回一个Object类型,并指定它返回一个int(原始)。 典型的方法只能返回指定的类型。希望它有所帮助