Oge*_*gen 7 java enums interface
我想存储一个名为Appset 的类型.App需要是一个实现App接口的枚举.
Set<App> myApps;
Run Code Online (Sandbox Code Playgroud)
我已经定义了这样的界面......
interface App<T extends Enum<T>> {}
Run Code Online (Sandbox Code Playgroud)
这几乎是有效的,例如,你不能这样做......
class MyClass implements Application<MyClass> {}
Run Code Online (Sandbox Code Playgroud)
但是,你可以这样做......
enum MyEnum implements Application<MyEnum> {}
class Myclass implements Application<MyEnum> {}
Run Code Online (Sandbox Code Playgroud)
哪个错了.我只希望枚举能够实现此接口,我该如何强制执行此操作?
ΦXo*_*a ツ 11
定义一个允许您将元素添加到集合中的方法,但是对该参数使用约束...
public <E extends Enum<E> & IMyInterface> void addToSet(final E value) { }
Run Code Online (Sandbox Code Playgroud)
在此之后
addToSet(MyEnum.K) will compile
Run Code Online (Sandbox Code Playgroud)
但
addToSet(new Myclass()) will NOT compile
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |