我有两个枚举,它们实现了如下相同的接口:-
public interface System {
public String getConfigKey();
}
名为SystemA和SystemB的两个枚举正在实现此接口。
public enum SystemA implements System {
ABC_CONFIG("ABC");
private SystemA(String configKey) {
this.configKey = configKey;
}
private String configKey;
public String getConfigKey() {
return configKey;
}
}
public enum SystemB implements System {
DEF_CONFIG("DEF");
private SystemB(String configKey) {
this.configKey = configKey;
}
private String configKey;
public String getConfigKey() {
return configKey;
}
}
我想要像这样应用getConfigFunction:-
Set<String> configKeys = Stream.<System>of(SystemA.values(),
SystemB.values()).forEach(config -> config.getConfigKey()).collect(toSet());
但它会抛出编译时错误,因为形成的流的类型为:Config[]。所以我尝试了以下修改:-
Set<String> configKeys = Stream.<System []>of(SystemA.values(),
SystemB.values()).forEach(config -> config.getConfigKey()).collect(toSet());
但这也失败了,因为我还需要修改forEach部分。有人能帮忙吗?我该如何修改forEach部分,或者我该如何使用map()/flatmap()函数,这样上面的代码行就可以工作了。
谢谢
要获取两个枚举的所有值,则需要使用:
Set<String> configKeys = Stream.of(SystemA.values(), SystemB.values())
.flatMap(Arrays::stream)
.map(System::getConfigKey)
.collect(toSet());
我有以下型号 我试图通过名称和组名称获得一个实例。 我可以用下面的代码来做 但是我想把它变成一个查询。对如何实现这一点有什么想法吗?
问题内容: 给出测试代码: 我想检查两个给定的枚举是否包含相同的值。 也许有更优雅的方式做到这一点? 问题答案: 建立一组名称: 为此(考虑将以上内容提取到方法中)。 然后:
问题内容: 我的服务器JSON返回了两种不同类型的DateFormat。“ MMM dd,yyyy”和“ MMM dd,yyyy HH:mm:ss” 当我使用以下内容转换JSON时,就可以了: 但是,当我想要详细的日期格式并将其更改为该格式时,它将引发异常com.google.gson.JsonSyntaxException:2013年3月21日 gson是否可以处理Json转换的两个不同的Dat
问题内容: 给定以下枚举,将Int强制转换为Java中的枚举的正确方法是什么? 问题答案: 尝试在必须为or的地方,即该枚举的有效序数。 请注意,在Java中,枚举实际上是类(因此,枚举值是对象),因此您不能将an 甚至转换为枚举。
我有枚举类,我想向列表视图显示枚举数据。谁能说出如何做到这一点?
我想将< code>socket.getSocket()和< code > socket status . getsocketstatus()存储在< code>HashMap中。但是< code>hMap.put(socket.getSocket()、socket status . getsocketstatus());引发< code > NullPointerException 。我该如何解