不知道你得MyObject,YouObject,HeObject只见是什么关系?继承还是无关的?
public filter(List listSrc, List listDst, Class cls)
{
   for (Iterator itr = listSrc.iterator(); itr.hasNext(); )
   {
      Object obj = itr.next();
      if (obj instanceof cls)
         listDst.add(obj);
   }
}

解决方案 »

  1.   

    MyObjet,YouObject,HeObject没有任何关系的
      

  2.   

    那么我楼上的写法就没有问题了。当然需要加上void,or int return type.
    public int filter(List listSrc, List listDst, Class cls)
    {
       int cnt = 0;
       for (Iterator itr = listSrc.iterator(); itr.hasNext(); cnt++)
       {
          Object obj = itr.next();
          if (obj instance of cls)
          {
             listDst.add(obj);
             cnt++;
          }
       }
       return cnt;
    }
    调用方法:
    filter(listSrc, listDst, YourObject.class);
    filter
      

  3.   

    既然是继承了,就不需要什么转换,这么说吧,上面的filter函数不变。
    从list里面,一个一个iterate出来,总归要一次casting.(YourProject)itr.next();
    最主要的是,应该知道你在做什么,list里面的都是什么?