public void delete10(){
T s = null;
try {
s=x.pop();
while(s.avg()<10)
s=x.pop();
}
我收到了The method avg() is undefined for the type T
。现在我理解avg()
未在类型T
上实现,但它是针对我将使用的类型而不是T
实现的这个通用。我怎样才能做对吗?
public E pop() throws EmptyStackException {
if (empty()) {
throw new EmptyStackException();
}
E result = top.item;
top = top.next;
return result;
}
答案 0 :(得分:5)
具有列出avg
方法的界面。然后,当您声明T
时,请写下T extends yourInterface
。
答案 1 :(得分:3)
假设在接口Averageable中声明avg方法,则应将您的类声明为
public class MyClass<T extends Averageable>