java - 带有枚举的泛型集
问题描述
问题空间已被剥离。
所以我有以下我无法改变的界面。
public interface ItemInterface {
Set<Enum<?>> getItems();
}
我创建了 Items 枚举类
public enum Item{
ITEM1, ITEM2, ITEM3
}
所以当我实现该方法时它不会编译。
public class ItemImpl implements ItemInterface {
@Override
public Set<Enum<?>> getItems() {
Set<Item> vals = new HashSet<>();
vals.add(Item.ITEM1);
return vals;
}
}
返回类型不匹配,我得到编译错误?有任何想法吗?
解决方案
只需声明vals
为Set<Enum<?>>
:
public class ItemImpl implements ItemInterface {
@Override
public Set<Enum<?>> getItems() {
Set<Enum<?>> vals = new HashSet<>();
vals.add(Item.ITEM1);
return vals;
}
}
推荐阅读
- python - 使用 Paramiko 或其他 Python 库通过 SSH 跳转服务器远程登录网络设备
- mysql - 比较两个 mysql-database 转储的内容并生成补丁 sql 文件
- r - Shiny 如何将文本放在页面底部
- reactjs - 在 React 样式的组件中使用 SVG 作为输入范围拇指背景
- angularjs - 容器上下文中的 Angular 使用函数
- c# - xgettext 工具无法使用 C# 和 NGettext 库提取带有上下文的字符串
- flutter - 尝试使用斩波器将文件上传到服务器
- gulp - 如何更改浏览器同步的端口
- lead - 使用 NPSP 设置自动转换潜在客户
- amazon-web-services - 在堆栈 CREATE 的情况下获取最新的 AMI,在堆栈更新的情况下保持相同的 AMI