解决方案 »

  1.   

    getScaledInstance(120, 120, Image.SCALE_AREA_AVERAGING) 这是在干啥?实例化一个图片对象?==应该是不行的,你在new两个对象嘛,不懂你list里存的是啥。
      

  2.   

    你应该没有复写equal方法,使用的是Object的方法,你的比较标准没有给出来
      

  3.   

    == 比较的是reference后边是不是同一个object... 如果你new了两次那么比较的object肯定不会是同一个equals是你的 ImageIcon 里的method.. 在没有override的情况下用的是最原始的object里的那个equals..
    如果我没记错的话那个method比的还是两个reference是不是指向同一个object..下边是default equals的javadoc所以你要想equals工作, 就必须自己override 这个method.. 最好的practice在override equals的同时override hashcode, 以保证equal的object有同样的hashcode。 
      

  4.   

    就是说只要是new两个对象,即使方法参数什么的一样,用 == 比较也得不到两个对象是相同的这一结果对吧。
    谢谢你,给我打开了思路。
      

  5.   


    所以你要想equals工作, 就必须自己override 这个method.. 最好的practice在override equals的同时override hashcode, 以保证equal的object有同样的hashcode。 谢谢你的帮助
      

  6.   


    我觉得你需要先看一下java的==和equals的区别~~~