内部静态枚举作为泛型类型?

Nik*_*sov 4 java generics enums static static-members

我正在学习和试验Java泛型,并提出了一段不能按预期编译的代码.Result无法解决. I代表输入,O输出.

public interface Stats<I, O> {
    O addItem (int index, I item);
}

public class AStats implements Stats<Item, Result> {
    public static enum Result {
        SUCCESS1,
        SUCCESS2,
        ERROR;
    }

    @Override
    public Result addItem (int index, Item item) {
        //valid code
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 有没有比Result在单独文件中声明更优雅的解决方案?

  • 一般来说,有一个返回泛型类型实例的方法是不是很糟糕?

Cro*_*zin 8

  1. 你的班级名称AStats.Result不是Result:

    public class AStats implements Stats<Item, AStats.Result> {
       ...
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我不认为返回泛型内部类型的实例是个坏主意.