需要对多个子类的集合进行同一种操作.本来可以写多个方法就可以进行相应的多个方法的实现..现在想写个简单实用的方法,进行书写.直接写子父类的继承,参数是父类,实参是子类是完全可以简单实现的...
但是现在的形参是父类的集合,实参是子类的集合,所以,在进行测试的时候,就多去想了想....所以用下面的来实现,感觉好多了...
private <T extends BaseDo> void duplicateRemoval5(List<T> listIMSIEntity, List<T> list) throws Exception {
for (T imsiEntity : listIMSIEntity) {
boolean f = false;
if (list.isEmpty()) {
list.add(imsiEntity);
continue;
}
for (BaseDo imsiEntity1 : list) {
//处理两个数的绝对值
Timestamp b = imsiEntity.getStartTime();
Timestamp a = imsiEntity1.getStartTime();
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date dateB = b;
long timeB = dateB.getTime();
Date dateA = a;
long timeA = dateA.getTime();
long abs = Math.abs(timeA - timeB);
if (imsiEntity.getDeviceName().equals(imsiEntity1.getDeviceName()) && 300000 >= abs) {
f = true;
break;
}
}
if (!f) {
list.add(imsiEntity);
}
}
}