Ami*_*hum 5 java enums enumset
标题几乎解释了这个问题.我有一个接口方法:
Set<Field> getFieldSet()
Run Code Online (Sandbox Code Playgroud)
我有一个类,User看起来像这样
class User {
enum Fields implements Field {
USERNAME, PASSWORD;
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
现在我想实现User的getFieldSet()方法.天真的方式似乎只是return EnumSet.allOf(Fields.class)但我得到以下错误:
> Type mismatch: cannot convert from Set<User.Fields> to Set<Field>
Run Code Online (Sandbox Code Playgroud)
除了手动复制EnumSet之外Set<Field>,还有一个很好的方法吗?
你可以回来new HashSet<Field>(EnumSet.allOf(Fields.class));.
这将解决您无法将类型值分配给类型Set<User.Fields>变量的事实Set<Field>.
或者,您的界面可以Set<? extends Field> getFields()改为.您可以指定Set<User.Field>捕获变量.
| 归档时间: |
|
| 查看次数: |
2639 次 |
| 最近记录: |