另外 getObject()method 是在哪里定义的,我在JAVA TUTORIAL COLLECTIONS FOR VECTOR中也没有找到,表示的是什么意思?和 VECTOR 中 GET(INT OBJECT)有什么区别,谢谢

解决方案 »

  1.   

    另外 int length = size(); SIZE 和 LENGTH分别对应的对象是谁?是谁的LENGTH 和 SIZE?
      

  2.   

    因为定义了4类OBJECTS,每个的长度不通,所以我不能明白
      

  3.   

    public Object getObject(Object o)
    //这里的只是形参,你可以换为其他的名称 如b,c
    public void printVectorSize() {
       Object o;// 方法中的变量,作用域指在该方法内有效,不影响main里面的Object o的值
    为了区别可以变为其他的名字
       int length = size();
       System.out.println("Number of Vector elements = "+length);
    }main里面的Object o = null;//这里的o是Object对象的一个实例
      

  4.   

    getObject()method是自定义的.
     VECTOR 中 GET(INT OBJECT)是得到vector变量中的某一个元素.
      

  5.   

    小弟菜鸟一个!给出自己的意见:o 不过十变量名,可以用别的名字代替!import java.util.*;
    import java.util.Arrays;public class TestVector extends Vector {

         public TestVector()  {
             super(10,5);
         }     public void addObject(Object o) {    // o只是一个参数名,目的是添加对象 o 
         
              addElement(o);
         }     public Object getObject(char[] t) {
         
             int length = size();
             int index = 0;
             while (index < length) {
             
                 if (elementData[index] instanceof char[]) {
                 
                    if ( Arrays.equals(t, (char[])elementData[index]))
                        return elementData[index];
                    }
                    index++;
             }
             return null;
         }     public Object getObject(Object o) {   // o只是一个参数名,目的是返回vector中的对象 o
         
             int length = size();
             int index = 0;
             Object t;
             while ( index < length) {
             
                t = elementData[index];
                if(o.equals(t))
                       return (t);
                index++;
             }
             return null;
         }     public void printVectorSize() {
         
             Object o;                     //根本没什么用,可以删除
             int length = size();
             System.out.println("Number of Vector elements = "+length);
         }     public static void main(String [] args) {          if (args.length != 3) {
                  System.out.println("Usage is \"java TestVector float int string\"");
                  System.exit(0);
              }          TestVector tv = new TestVector();
              char [] letters = { 'A', 'c', '8', '\u0033', 'x'};
              // Load vector          int i = 3;
              float f = 3.14f;
              String s = "JavaString";          Object o = null;  //定义对象变量 o, 目的是可以接受任何对象数据          o = new Integer(i); //赋一个Integer类型对象给 o
              tv.addObject(o);          o = new Float(f); //赋一个Float类型对象给 o
              tv.addObject(o);          tv.addObject(s);          tv.addObject(letters);          // Search and print vector elements
              // float value
              o = new Float(args[0]); //接受从键盘传进的参数且转换成Float类型对象,赋值给 o,测试getObject(Object)
              o = tv.getObject(o); //在 tv 中查找 o, 并把查找结果赋值给 o
              if (o != null)
                     System.out.println("Object found is "+o.toString());
              else
                     System.out.println("Argument "+args[0]+" not found");          // int value
              o = new Integer(args[1]);     //同上
              
              o = tv.getObject(o);
              if (o != null)
                     System.out.println("Object found is "+o.toString());
              else
                     System.out.println("Argument "+args[1]+" not found");          // String value
              o = tv.getObject(args[2]); //同样测试getObject(Object),不过参数是String类型而已,把查找结果赋值给对象 o
              if (o != null)
                     System.out.println("Object found is "+o.toString());
              else
                     System.out.println("Argument "+args[2]+" not found");
              // Character array
              char [] sc = { 'A', 'c', '8', '\u0033', 'x'};
              o = tv.getObject(sc); //同上,参数是字符数组!
              if (o != null) {
                  System.out.println("Found the array object, elements are");
                  char [] fnd = (char []) o;
                  for (int j = 0; j < fnd.length; j++)
                      System.out.print(fnd[j]+"  ");
                  System.out.println("");
              } // What is the vector's current capacity?
    System.out.println("Current capacity is = "+tv.capacity()); //What is the object at position 3?
    System.out.println("3rd element is = "+tv.elementAt(2).toString()); //Replace the element at position 3
    tv.set(2,new Integer(4));
    System.out.println("3rd element is = "+tv.elementAt(2).toString()); //Enumerate through the Vector
    System.out.println("Enumeration");
    for (Enumeration e = tv.elements();  //Enumeration is an abstract Interface
         e.hasMoreElements();) {
     System.out.println(e.nextElement());
    }
    System.out.println("End enumeration"); //Insert a bunch of characters into the vector
    char c;
    for (i =0; i < 20; i++) {

       c = (char)('A'+(int)(Math.random()*26));
       System.out.print(" "+c);
       tv.add(new Character(c));
    }
    System.out.println("");
    System.out.println("New capacity after char adds is = "+tv.capacity());
    System.out.println("New size after char add is = "+tv.size());
         }
    }
      

  6.   

    1 - getObject()method  本是自定义的!具体位置看:public Object getObject(Object o) {
             int length = size();
             int index = 0;
             Object t;
             while ( index < length) {
                t = elementData[index];
                if(o.equals(t))
                       return (t);
                index++;
             }
             return null;
         }2 - size() 其实是继承的父类也就是Vector的方法!
         TestVector类中并没有对该方法进行重写!也没有重载!     lengh 不过十个变量,用来保存TestVector 对象的 长度!
    小弟菜鸟一个!错误之处还请见谅!