在Java中实现简单的泛型方法时出现编译错误

时间:2019-04-03 14:22:19

标签: java generics

在Java中实现泛型方法时遇到编译错误

我的通用界面:

class PlayQuizState extends State<PlayQuiz> {
  ForceSelection forceSelection;

  PlayQuizState(ForceSelection forceSelection) {
    this.forceSelection = forceSelection;
  }
}

下面是抛出错误的我的实现:

interface GenericInterface {
    <T> T genericMethod(T t);
}

任何帮助都将被提前告知,我在泛型类实现中可能缺少一些东西。

1 个答案:

答案 0 :(得分:9)

如果您希望实现针对特定类型,则必须在类/接口上声明类型变量:

interface GenericInterface<T> {
    T genericMethod(T t);
}

并实现为:

public class GenericImplementation implements GenericInterface<Double> {

<T> T genericMethod(T t)并不意味着实现可以适用于任何类型,而是意味着它必须适用于 all 类型。您不能将其限制为一种类型。