你这个方法到底返回Collection还是Vector?

解决方案 »

  1.   

    Vector v=(Vector)getTotalUser();
    要强制转换一下吧!
      

  2.   

    是COLLECTION,里面return Vector
      

  3.   

    是这个方法:public Collection getTotalUser() throws Exception
    {
    Vector v=new Vector();
    。。
    return v;
    }
      

  4.   

    你不如将Collection改为List这样不更好!
      

  5.   

    public Collection getTotalUser() throws Exception
    {
    Vector v=new Vector();
    。。
    return v;
    }
    改成public List getTotalUser() throws Exception
    {
    Vector v=new Vector();
    。。
    return v;
    }
    List是vector的父接口,它支持你想用的转换,再说这样更能体现多态!
      

  6.   

    明白!然后就是 Vector v=(Vector)getTotalUser();
    对吗?
      

  7.   

    sun的java.util包是这样组织的
       Iterator<----Collection<----Map
                         ___|___
                         |      |
                        List    Set
                         |
                        AbstractList
                          |
                         Vector
                          |
                        Stack  
    这个只是其中一个很小的部分,但是足以理解上面的问题.
    你要掉用那个方法首先要生成这个方法所在的class的实例,然后在调用该方法.
    调用的时候有你可以强制类型转换就可以了.
    Vector实现了List接口的一个具体的类(Concreate class)在更广的意义上讲它是一种
    Collection(一个更上层的接口--List的父接口)