2015-05-21 229 views
2

我有以下的通用类:泛型类型的子类

public class Evalutor<T>{ 

} 

我想如下创建名为NumberEvalutor类型:

public class NumberEvalutor<T> extends Evalutor<T extends Number>{ //Syntax error on token "extends", , expected 

} 

但我不能这样做的。也许你可以建议另一种类型安全的方式?

回答

10

尝试:

public class NumberEvalutor<T extends Number> extends Evalutor<T> { 

} 

类级类型参数(如<T extends Number>)必须在类名后引入,可以在超类/超接口列表被称为。否则,在创建类实例时,将无法(明确)指定其运行时值。

+0

事实上,好主意! –

4

这应该工作:)

public class NumberEvaluator<T extends Number> extends Evaluator<T> { 
}