francistao/LearningNotes

Android内存泄露中remove不掉是错的

Opened this issue · 2 comments

@bbfxier

        @Override
        public int hashCode() {
            return Objects.hash(name, pwd, age);
        }

Person类重写了hashCode方法的话会重现。因为HashSet会根据气hashCode来判断是提取set中的元素。而这个值是add时候的值,在p3的成员变量改变后hashCode就变了.

正常情况下 修改对象内部变量 不会改变hashCode啊 所以也不会remove不掉啊