当前位置: 代码迷 >> J2SE >> 关于泛型List<>能不能这样?该如何处理
  详细解决方案

关于泛型List<>能不能这样?该如何处理

热度:58   发布时间:2016-04-24 02:05:33.0
关于泛型List<?>能不能这样???
我这里有两个类ClassA, ClassB的某些字段及其set get方法是一样的
但又不能用继承,但在某个方法上的处理逻辑完全一样,因此我想用泛型
处理,但试验了不行
Java code
public void genericTest(List<ClassA> testList){//单个ClassA。ClassB逻辑完全和这个一样    for(ClassA cA : testList){        if(cA.getAge() > 60){              //......        }    }}public void genericTest(List<?> testList){//不能生效的泛型应用    for(Object obj : testList){        if(obj.getAge() > 60){              //......        }    }}

请问有什么好的方法能够让List<ClassA>,List<ClassB>均在一个方法中处理么?
谢谢!

------解决方案--------------------
Java code
public static void main(String[] args) {        List target = new ArrayList();        target.add(new ClassA());        target.add(new ClassB());        Test t = new Test();        t.genericTest(target);    }        public void genericTest(List<?> testList){        try{            for(Object obj : testList){                Method m = obj.getClass().getDeclaredMethod("getAge");                if(Integer.valueOf(m.invoke(obj).toString()) > 60){                    System.out.println(obj.getClass().getName()+" gt");                }            }        }catch(Exception e){            e.printStackTrace();        }    }
  相关解决方案