java - 从带有流的枚举中收集值不起作用
问题描述
我想要一个包含枚举中几乎所有值的列表。我试图在流的帮助下做到这一点,但我不知道为什么它不起作用。
例如,我正在尝试这样做:
SortingType.stream() //
.filter(d -> !d.getName().equals(SortingType.UNKNOWN.getName()))
.forEach(u -> {
sortingList.add(createSortingBE(locale, u, u.name().equalsIgnoreCase(sortingType.name())));
});
.stream()显示为红色,我收到此消息:“无法解析 'SortingType' 中的方法 'stream'”
排序类型
public enum SortingType {
DISTANCE("DISTANCE", 101, "Sorting POIs by distance"),
PRICE("PRICE", 104, "Sorting POIS by price"),
UNKNOWN("UNKNOWN", 000, "Unknown sorting option");
private String name;
private Integer identifier;
private String description;
SortingType(final String name, final Integer identifier, final String description) {
this.name = name;
this.identifier = identifier;
this.description = description;
}
public static SortingType getByName(final String name) {
return Stream.of(values()).filter(u -> u.name.equalsIgnoreCase(name)).findFirst().orElse(SortingType.UNKNOWN);
}
public static SortingType getByIdentifier(final Integer identifier) {
return Stream.of(values()).filter(u -> u.identifier.equals(identifier)).findFirst().orElse(SortingType.UNKNOWN);
}
public String getDescription() {
return description;
}
public Integer getIdentifier() {
return identifier;
}
public String getName() {
return name;
}
解决方案
您应该简单地添加这样的stream()
方法。
public enum SortingType {
// .....
public static Stream<SortingType> stream() {
return Stream.of(values());
}
}
推荐阅读
- python - discord.py 将 Message 对象分配给 json 文件
- javascript - 如何编写一个返回星期几的函数
- html - 如何隐藏边框 HTML CSS Select?
- java - 无法访问 camunda 驾驶舱页面
- python - 从 DBFS 加载模型时,H2O import_mojo 在路径上引发错误
- html - 移动设备上的轮播 - 上面设备上的三个部分?
- dynamics-crm - 无法为 MS Dynamics CRM 2011 中的团队实体注册预删除验证插件步骤
- sql - 在 postgres 中使用侧面插入或更新查询中的变量
- azure-devops - Azure 是否提供用于将测试自动化结果发布到 Azure Devops Testlabs 的 Rest API?
- azure - linux机器上的慢rm -rf