我在名为 IntArray 的类中有这个 java 方法。该类具有将整数添加到集合或从集合中删除整数、检查集合的大小以及检查 2 个集合是否相等的方法。这 2 个集合是在 main 中使用 2 个不同类型的 IntArray 对象创建的,比如说对象 A 和 B。equals 方法应该检查两组整数是否相等。例如设置 A = {1,2,3} 和 B = {1,2,3,4}。即使一个集合是另一个集合的子集,该方法仍然返回 true。我到底做错了什么?谢谢。
//part of the code in main
IntArray A = new IntArray();
IntArray B = new IntArray();
if(A.equals(B))
System.out.println("A and B are equal");
//equals method in IntArray class
public boolean equals(Object b)
{
if (b instanceof IntArray)
{
IntArray A = (IntArray) b;
for (int i = 0; i < data.length; i++)
if (countOccurrences(data[i]) != A.countOccurrences(data[i]))
return false;
return true;
}
else return false;
}