以下是我提出的失败尝试,指的是Java Generic Enum class using Reflection。
想要找到更好的方法来做到这一点。我用这种方法找到了几个问题:
每次我需要传递类类型。示例 - EnumUtility.fromKey(Country.class,1)
fromSet在城市和国家/地区都重复了
(setf (cdr *tail*) nil)
*tail*
==> (3)
*list*
==> (1 2 3)
答案 0 :(得分:3)
无法避免将枚举类传递给fromKey。你怎么知道哪些枚举常量检查所请求的密钥?注意:该方法中的第二个参数应为int
类型,而不是Integer。在Integer实例上使用==
将不会比较数值,它将比较对象引用!
EnumUtility.fromSet应该可以正常工作,因此每个枚举类根本不需要fromSet方法。请注意,EnumUtility.fromSet根本不需要Class参数,实际上您的代码不使用该参数。