在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ File數(shù)組通過Comparator來進行排序時,equals方法不寫會有影響嗎

File數(shù)組通過Comparator來進行排序時,equals方法不寫會有影響嗎?

獲取路徑下的File數(shù)組,F(xiàn)ile[] files = file.listFiles();
之前查詢過更具日期排序做法如下:

    Arrays.sort(files, new Comparator<File>() {
        @Override
        public int compare(File file1, File file2) {
            long diff = file1.lastModified() - file2.lastModified();
            if (diff > NUM_ZERO)
                return -NUM_ONE;
            else if (diff == NUM_ZERO)
                return NUM_ZERO;
            else
                return NUM_ONE;
        }
        /**
        *問題:以下代碼存在的必要性??
        **/
        public boolean equals(Object obj) {
            return true;
        }
    });

這里為什么要寫equals?而且也沒有要求強制重寫。因為項目代碼要通過sonar規(guī)范,這里說如果寫了equals方法還需要重寫hashcode(正常我明白要這樣做,但是這里似乎并沒有用上這個方法?)
希望高手可以給個解答。。謝謝。

回答
編輯回答
扯機薄

http://blog.csdn.net/tiwerbao...
看看 我也是遇到這個問題 一起看看

2018年3月1日 16:15
編輯回答
忘了我

equals方法不寫會有影響嗎?取決于是否要用到對象的equals方法,該方法是Object的方法,源碼就是使用==比較是否是堆中的同一個對象,例如使用HashMap把一個普通類作為Key保存,如果沒有重寫hashcode和equals方法會導致無法正常存取。

2018年7月21日 03:45