我正在尝试构建HashMap,它的键是唯一的id,值是通过反射找到的类的名称。
我的问题是创建那些独特的ID。我怎么能骄傲地认为每个班级都有唯一的身份证,并且它的身份永远不会改变。我的意思是,如果我要创建新类,它将永远不会更改旧的类ID。
更新
我需要id为整数。 (对不起,我没有提到:P)
答案 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);