【发布时间】:2014-06-16 13:38:39
【问题描述】:
例如,我有一个通过反射得到的字段。该字段上有注释。我用
field.getAnnotation(CustomAnnotation.class)
得到一个。我可以将它用作哈希映射中的键吗?我的意思是我可以,但是这个键对于字段来说是唯一的吗?
我想要HashMap<CustomAnnotation, Integer>,其中整数值是 CustomAnnotation 具有的集合中最后使用的元素的索引:
@CustomAnnotation(values={"ONE", "TWO"})
【问题讨论】:
-
您不想使用字段作为键(并将注释作为值)吗?
-
是的,它将是唯一的,因为您不能在一个字段上指定多个相同类型的注释。
-
@IvanBabanin:但是您可以在其他字段上指定相同的注释,并可能为它们取回相同的对象。那么这不能用作键。
-
也许你先试试?我想,只要注释的 hashCode() 没有以某种意想不到的方式实现,它就应该是。
标签: java reflection