就一句话,就不明白! 如果hashCode值相同,那object”可能”相同(equal);如果hashCode值不相同,那object”一定”不相同。不明白 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String类用下面的算法来计算其hashcode:int hash = 0;for (int i = 0; i < length(); i++) hash = 31 * hash + charAt(i);String s = "Ok";StringBuffer sb = new StringBuffer(s);System.out.println(s.hashCode() + " " + sb.hashCode());String t = new String("Ok");StringBuffer tb = new StringBuffer(t);System.out.println(t.hashCode() + " " + tb.hashCode());s和t的hashCode是相同的,sb和tb是不相同的 http://blog.163.com/tangyang_personal/blog/static/4622961320082269256877/ hashcode不能相同吧,相同的话一定就是一个对象 因为String重写了hashcode方法,它的算法根object的hashcode方法不一样,它是由字符串内容来计算hashcode,这是因为string重写了equals方法!不一样的对象可能他们的hashcode相等,纪律很小,关于这方面的问题没什么研究,楼下继续! equal 必须是值相同、地址相同 好像,,HASHCODE指向的是一个地址桶,,而一个桶里面可以存放多个数据,,,而EQUAL()为TRUE,则就要求,一定要在这个地址桶里面的同一个地址上,而EQUAL()为FALSE,则可能数据在同一个桶里面的不同地址上 JTable怎么保存到本地磁盘? 【在线等】Tomcat服务器线程满宕机问题 如何测试java.sql.Connection类当前的连接是否正常可用? 如何使JFrame内的控件的大小随着JFrame的变化而变化?? pack()和show()的作用? 同一个程序里swing下定义的jframe怎么添加awt下定义的panel? 有用过visual j++的朋友指点一下 newbie's question 一个简单问题?请各位指点 请问如何清空堆栈? 请教一个简单的问题 打字程序
for (int i = 0; i < length(); i++)
hash = 31 * hash + charAt(i);
String s = "Ok";
StringBuffer sb = new StringBuffer(s);
System.out.println(s.hashCode() + " " + sb.hashCode());String t = new String("Ok");
StringBuffer tb = new StringBuffer(t);
System.out.println(t.hashCode() + " " + tb.hashCode());s和t的hashCode是相同的,sb和tb是不相同的
而EQUAL()为TRUE,则就要求,一定要在这个地址桶里面的同一个地址上,
而EQUAL()为FALSE,则可能数据在同一个桶里面的不同地址上