gpt4 book ai didi

java - 如何在 java 中创建具有枚举值的 map ?

转载 作者:行者123 更新时间:2023-11-29 06:49:26 24 4
gpt4 key购买 nike

我需要验证作为 REST API 的一部分传递的参数值。这些参数是一组固定值。我想过使用一个以参数名称为键、以枚举为值的映射。所以我可以检查 REST API 中发送的值是否是枚举键之一。

但是我无法在 java 中创建一个带有 String 键和枚举值的 Map,尝试创建 Map 然后将枚举作为值,但它失败了。

class Validation {
enum Type {
INTERNAL,
EXTERNAL
};
}

Map<String, Object> validationMap = new HashMap<String, Object>();
validationMap.put("type", Validation.Type);

这是抛出类型未定义的错误。

最佳答案

这可能就是您要找的,Map<String, Object>更改为 Map<String, Validation.type> :

Map<String, Validation.type> validationMap = new HashMap<String, Validation.type>();
validationMap.put("type", Validation.type.INTERNAL);
validationMap.put("type2", Validation.type.EXTERNAL);

如果您更改了 Validation.type,您的原始代码将可以正常工作至 Validation.type.INTERNAL例如,但是您的 validationMap map 允许存储任何 Object , 所以 validationMap.put("type2", 123.123);也会起作用,这不太可能是您想要的。

关于java - 如何在 java 中创建具有枚举值的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53850260/

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