获取路径下的File数组,File[] 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规范,这里说如果写了equals方法还需要重写hashcode(正常我明白要这样做,但是这里似乎并没有用上这个方法?)
希望高手可以给个解答。。谢谢。
equals方法不写会有影响吗?取决于是否要用到对象的equals方法,该方法是Object的方法,源码就是使用==比较是否是堆中的同一个对象,例如使用HashMap把一个普通类作为Key保存,如果没有重写hashcode和equals方法会导致无法正常存取。