gpt4 book ai didi

java - 具有多个值的枚举具有描述

转载 作者:行者123 更新时间:2023-12-01 18:51:36 26 4
gpt4 key购买 nike

public enum MyType {
Type1("A","B"),
Type2("C","D" );


private List<String> value;

MyType(String... value) {
this.value = Arrays.asList(value);
}

public static Optional<MyType> fromString(String type) {
return Arrays.stream(MyType.values())
.filter(typ -> MyType.getValue().contains(typ)).findFirst();
}

private List<String> getValue() {
return value;
}

}

我希望枚举 Type1 和 Type 2 也有描述

MyType1.fromString("A") 将返回Optional。我想要一个方法返回值“Type1”

最佳答案

如果你想要一个“描述”,你可以添加一个,但由于你有一个可变参数,它必须是第一个参数。另外,您的 fromString 方法会忽略 type 参数(因此您也应该修复该问题)。比如,

public enum MyType {
Type1("Type1 Description", "A", "B"), Type2("Type2 Description", "C", "D");

private String description;
private List<String> value;

MyType(String description, String... value) {
this.description = description;
this.value = Arrays.asList(value);
}

public static Optional<MyType> fromString(String type) {
return Arrays.stream(MyType.values())
.filter(typ -> typ.getValue().contains(type)).findFirst();
}

private List<String> getValue() {
return value;
}

public String getDescription() {
return description;
}
}

关于java - 具有多个值的枚举具有描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com