具有唯一ID的Java反射

时间:2013-06-20 18:50:11

标签: java reflection uniqueidentifier

我正在尝试构建HashMap,它的键是唯一的id,值是通过反射找到的类的名称。

我的问题是创建那些独特的ID。我怎么能骄傲地认为每个班级都有唯一的身份证,并且它的身份永远不会改变。我的意思是,如果我要创建新类,它将永远不会更改旧的类ID。

更新
我需要id为整数。 (对不起,我没有提到:P)

1 个答案:

答案 0 :(得分:0)

不能保证完全唯一,但仅使用完全限定的类名就足够了。完全限定路径的String名称(如java.lang.Math)将是一个很好的“unqiue”id,并且应该很少发生哈希冲突。

实施例

map.put(MyClass.class.toString(), MyClass.class);

编辑:如果你需要它是一个int,你总是可以使用String hashcode

map.put(MyClass.class.toString().hashCode(), MyClass.class);