看来不是只有condo有灰尘大的问题 (转载)# Livingw*s2013-05-27 07:051 楼1,java中的类什么时候要自己写个hashCode()?2,写出一个能break HashMap正常工作的hashCode()3,怎样测试hashCode()是否work?
b*m2013-05-27 07:053 楼【 以下文字转载自 Chicago 讨论区 】发信人: boboslancom (擎天柱大姊), 信区: Chicago标 题: 看来不是只有condo有灰尘大的问题发信站: BBS 未名空间站 (Sun May 26 11:31:34 2013, 美东)最近看一些老美论坛,不少在郊区住single family house的妈妈抱怨家里灰尘大,说两天不掸灰,孩子就能在桌面和地板上写字了,哈哈哈
l*a2013-05-27 07:054 楼用随机数函数生成hashCode【在 w********s 的大作中提到】: 1,java中的类什么时候要自己写个hashCode()?: 2,写出一个能break HashMap正常工作的hashCode(): 3,怎样测试hashCode()是否work?
l*h2013-05-27 07:055 楼这个跟daca有什么关系?老中老印跟任何非中印的结婚不都是这样的效果?【在 s***d 的大作中提到】: dcac配偶能走eb,老中烙印能走moxico 的配额 太完美了: 估计烙印已经开始了 撸管索男们加油!
b*m2013-05-27 07:056 楼这里住 sfh 的觉得家里灰尘大么?【在 b*********m 的大作中提到】: 【 以下文字转载自 Chicago 讨论区 】: 发信人: boboslancom (擎天柱大姊), 信区: Chicago: 标 题: 看来不是只有condo有灰尘大的问题: 发信站: BBS 未名空间站 (Sun May 26 11:31:34 2013, 美东): 最近看一些老美论坛,不少在郊区住single family house的妈妈抱怨家里灰尘大,说: 两天不掸灰,孩子就能在桌面和地板上写字了,哈哈哈
s*d2013-05-27 07:058 楼daca也在被整 这样不就是最好吗 老中烙印h1b加墨西哥h4【在 l****h 的大作中提到】: 这个跟daca有什么关系?老中老印跟任何非中印的结婚不都是这样的效果?
m*l2013-05-27 07:0511 楼1.重写了equals的类要求重写hashCode()2.return 0;3. 不知道。。。【在 w********s 的大作中提到】: 1,java中的类什么时候要自己写个hashCode()?: 2,写出一个能break HashMap正常工作的hashCode(): 3,怎样测试hashCode()是否work?
w*s2013-05-27 07:0513 楼return 0真能break HashMap么?【在 m*****l 的大作中提到】: 1.重写了equals的类要求重写hashCode(): 2.return 0;: 3. 不知道。。。
s*k2013-05-27 07:0514 楼完全不会。。。【在 w********s 的大作中提到】: 1,java中的类什么时候要自己写个hashCode()?: 2,写出一个能break HashMap正常工作的hashCode(): 3,怎样测试hashCode()是否work?
w*s2013-05-27 07:0515 楼你再仔细想想return 0会不会break HashMap?【在 m*****l 的大作中提到】: 1.重写了equals的类要求重写hashCode(): 2.return 0;: 3. 不知道。。。
o*g2013-05-27 07:0516 楼补充一下看第45页:http://uet.vnu.edu.vn/~chauttm/e-books/java/Effective.Java.2nd.2. 楼上说的random是可以的。break hashmap的意思应该是像书里的例子,本来hashmap里有这个object,本来应该找到的,但是由于hashcode的原因找不到了。另外一个可能是错误的将某个不应该计算hashcode的field给计算hashcode了。比如user类,可以用username或者id算hashcode,假设id或者username是不能修改的。如果错误的将user.address也参与了hashcode的计算,那如果user.address修改了,hashcode也会变了。3. 测试的话需要测试书里面的前2点。第2点好办,就是测试两个equals的object的hashcode是否也一样。第1点的话,可以修改一个object里的field,然后看hashcode是否变化,但是也不能全部修改吧,hashcode总得根据某些个field算出来的。还得根据业务逻辑,某些不应该算hashcode的field,要确保这些field没有参与hashcode的计算【在 m*****l 的大作中提到】: 1.重写了equals的类要求重写hashCode(): 2.return 0;: 3. 不知道。。。
m*l2013-05-27 07:0517 楼我对break hashcode的理解有误了,我理解为让这个hashcode()不具有hash降低时间复杂度的效果就算break了。返回random应该是最好的答案。