我在Vector中有三个值(5 3.14 abcd),为什么我用indexOf找3.14时,总返回-1啊public void find(Object o){
System.out.println(o.toString());  //输出为3.14
int rc = indexOf(o);
System.out.println(rc); //输出为-1
}

解决方案 »

  1.   

    vector存放的3.14不是String的对象,因此找不到
      

  2.   

    int rc = indexOf(o);不大对劲!我按照你的意思写了一个类!
    看看吧!  没时间写,写得不是很完善import java.util.Vector;
    public class TestVector {    
    public TestVector() { }
    private Vector initVector(Vector vec)
    {
    vec.add(0,"5");
    vec.add(1,"3.14");
    vec.add(2,"abcd");

    return vec;
    }

    private void find(Vector vec,Object o)
    {
    System.out.println(o.toString());
    String str ;
    int rc = vec.indexOf(o);
    System.out.println(rc);
    }

    public static void main(String[] args) {
    TestVector test = new TestVector();
    Vector tempVer = new Vector();
    tempVer = (Vector) test.initVector(tempVer);
    Object o = tempVer.get(1);
    test.find(tempVer,o);
    }
    }