本帖最后由 黎志勇 于 2014-7-29 07:15 编辑
首先,你写的程序语法就有问题
- return getClass().getName() + "@" + Integer.parseInt("(Integer.toHexString(hashCode()))",16);
复制代码
Integer.toHexString(hashCode()) 的结果本来就是一个字符串,你外面还用双引号括住,闹哪样?应该是
- return getClass().getName() + "@" + Integer.parseInt(Integer.toHexString(hashCode()),16);
复制代码 其次,Integer.toHexString(hashCode()) 这个就已经是把哈希值转换成16进制的形式输出字符串,
你外面又来个 Integer.parseInt(Integer.toHexString(hashCode()),16); 把已经转成的16进制结果解释回去,这样不就跟直接调用hashCode()没啥两样了么,
- return getClass().getName()+ "@" + Integer.toHexString(hashCode());
复制代码 只要这样就行了啊。
|