我的数据结构类的讲师告诉我,有一种更好的方法可以在这种方法中使用通用数据类型来实现,而不是将所有内容都强制转换为E。我无法弄清楚这种更好的方法是如何实现的或确切地她的意思。我知道我写的这种方法有效,但是如果有更好的方法,我想知道。
public class GenericSortedArrayBag<E extends Comparable> implements Cloneable,Iterable<E> {
public int numPresents;
public int maxPresents;
private Object[] data;
public void delete(E k) {
boolean found = false;
for(int i=0; i <numPresents; i++) {
if(((E)data[i]).equals(k)) {
found = true;
}
if(found && i<numPresents - 1) {
data[i] = data[i+1];
}
else if(found) {
data[i] = null;
}
}
numPresents--;
}
答案 0 :(得分:2)
代替
private Object[] data;
您可以使用
private E[] data;
这样您就可以保存演员表
if((data[i]).equals(k))