繁体   English   中英

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

[英]Inner static enum as generic type?

我正在学习和试验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
    }
}
  • 有没有比在单独的文件中声明Result更优雅的解决方案?

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

  1. 您的类名是AStats.Result ,而不是Result

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM