1

我的作业给出了以下代码:

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 的方法。也就是说,它们具有相同数量的项目,并且一个对象中的每个项目都等于另一个对象中相应位置的项目。我需要使用以下肉类标头:

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

其他是对象类型。我如何使它成为一个数组?

4

1 回答 1

1

在比较之前修改您的代码以将列表转换为对象数组

public boolean equals(Object other)
{
Object listObj[]=list.toArray();
if (Arrays.equals(listObj, other))
return true;
else
return false;

}//end equals
于 2013-09-19T03:46:39.213 回答