我的作业给出了以下代码:
class AList<T> implements ListInterface<T> {
private T[] list; // array of list entries
private int numberOfEntries; // current number of entries in list
private static final int DEFAULT_INITIAL_CAPACITY = 25;
public AList() {
this(DEFAULT_INITIAL_CAPACITY); // call next constructor
} // end default constructor
public AList(int initialCapacity) {
numberOfEntries = 0;
// the cast is safe because the new array contains null entries
@SuppressWarnings("unchecked")
T[] tempList = (T[]) new Object[initialCapacity];
list = tempList;
} // end constructor
我的任务是创建一个方法,当两个AList对象的内容相同时返回true。也就是说,它们具有相同数量的项目,并且一个对象中的每个项目等于另一个对象中其对应位置中的项目。我需要使用以下meathod标题:
public boolean equals (Object other)
{
//my code goes here
}
我尝试了这个,但它没有用。
public boolean equals(Object other)
{
if (Arrays.equals(this.list, other))
return true;
else
return false;
}//end equals
其他是Object类型。我如何使它成为一个数组?
答案 0 :(得分:1)
在编译之前修改代码以将列表转换为Object Array
public boolean equals(Object other)
{
Object listObj[]=list.toArray();
if (Arrays.equals(listObj, other))
return true;
else
return false;
}//end equals