形参是父类的List,实参是子类的问题

需要对多个子类的集合进行同一种操作.本来可以写多个方法就可以进行相应的多个方法的实现..现在想写个简单实用的方法,进行书写.直接写子父类的继承,参数是父类,实参是子类是完全可以简单实现的...

但是现在的形参是父类的集合,实参是子类的集合,所以,在进行测试的时候,就多去想了想....所以用下面的来实现,感觉好多了...

    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);
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/YoungLee16/article/details/83114068