泛型和方法

时间:2013-11-25 06:55:46

标签: java generics

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;
}

2 个答案:

答案 0 :(得分:5)

具有列出avg方法的界面。然后,当您声明T时,请写下T extends yourInterface

答案 1 :(得分:3)

假设在接口Averageable中声明avg方法,则应将您的类声明为

public class MyClass<T extends Averageable>