Java 返回arraylist错误
我一直在尝试创建一个类来确定arraylist中的一组整数是否是另一个arraylist的子集 但是,每当我尝试编译时,我都会收到一条“错误:不兼容的类型:ArrayList无法转换为int”,并且似乎是“返回成员”导致了这一错误 有人能告诉我“返回会员”有什么问题吗?任何帮助都将不胜感激Java 返回arraylist错误,java,arrays,arraylist,Java,Arrays,Arraylist,我一直在尝试创建一个类来确定arraylist中的一组整数是否是另一个arraylist的子集 但是,每当我尝试编译时,我都会收到一条“错误:不兼容的类型:ArrayList无法转换为int”,并且似乎是“返回成员”导致了这一错误 有人能告诉我“返回会员”有什么问题吗?任何帮助都将不胜感激 // Define the Set class import java.util.ArrayList; class Set { private ArrayList<Integer>
// 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;
}
}
//定义集合类
导入java.util.ArrayList;
类集{
私人ArrayList成员;
公共集()
{
members=newarraylist();
}
public int getMembers()
{
返回成员;
}
公共成员()
{
这个.成员=成员;
}
//toString()方法
公共字符串toString()
{
返回“集合A是集合B的子集”;
}
//如果“this”是“set”的子集,则返回true,
//否则返回false。
公共布尔值IsubSet(集合)
{
for(int i=0;i
此方法是您的问题:
public int getMembers()
{
return members;
}
返回类型错误,请将其更改为:
public ArrayList<Integer> getMembers()
{
return members;
}
public ArrayList getMembers()
{
返回成员;
}
另外,您的setMembers()不做任何事情,将其自身设置为自身。应改为:
public void setMembers(ArrayList<Integer> newMembers)
{
this.members = newMembers;
}
public void集合成员(ArrayList newMembers)
{
this.members=新成员;
}
您首先犯了错误。请在getMenbers()
中更改返回类型。您正在返回一个对象类型,并将其指定为返回int(基元)。
典型方法只能返回指定的类型。希望有帮助如果(!members.contains(this.members.get(i)),这是否是
您真正想要的?这永远不会是真的。如果第二个子集中不包含数字,我试图让程序返回false。为什么它永远不会是真的?因为你在处理同一个变量。检索members
的元素,并检查members
是否包含此元素。显然,它是这样的,否则您将无法获取元素。此外,不使用参数set
。我想,如果(!set.contains(members.get(I))
就是你要找的汉克斯!是的,我意识到这是一个变种人!