在Java中实现泛型方法时遇到编译错误
我的通用界面:
class PlayQuizState extends State<PlayQuiz> {
ForceSelection forceSelection;
PlayQuizState(ForceSelection forceSelection) {
this.forceSelection = forceSelection;
}
}
下面是抛出错误的我的实现:
interface GenericInterface {
<T> T genericMethod(T t);
}
任何帮助都将被提前告知,我在泛型类实现中可能缺少一些东西。
答案 0 :(得分:9)
如果您希望实现针对特定类型,则必须在类/接口上声明类型变量:
interface GenericInterface<T> {
T genericMethod(T t);
}
并实现为:
public class GenericImplementation implements GenericInterface<Double> {
<T> T genericMethod(T t)
并不意味着实现可以适用于任何类型,而是意味着它必须适用于 all 类型。您不能将其限制为一种类型。