Pra*_*eep 1 java string enums dictionary
我需要验证作为REST API的一部分传递的参数的值.这些参数是一组固定的值.我想过使用一个参数名为key,枚举为值的地图.所以我可以检查REST API中发送的值是否是枚举键之一.
但是我无法在java中创建一个带有String键和枚举值的Map,尝试创建Map然后将put和enum作为值,但它失败了.
class Validation {
enum Type {
INTERNAL,
EXTERNAL
};
}
Map<String, Object> validationMap = new HashMap<String, Object>();
validationMap.put("type", Validation.Type);
Run Code Online (Sandbox Code Playgroud)
这是抛出未定义类型的错误.
这可能是你正在寻找的,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);
Run Code Online (Sandbox Code Playgroud)
你的原始代码会有用,如果你已经改变Validation.type了Validation.type.INTERNAL,例如,你的validationMap地图允许存储任何 Object,所以validationMap.put("type2", 123.123);也可以工作,这不太可能你想要的东西.
| 归档时间: |
|
| 查看次数: |
547 次 |
| 最近记录: |