自己建一个类扩展Vector类,然后重载其中的add和addElement和其他用来加元素的方法在该方法中判断所加的对象是否为String,不是的话就抛出异常,非常简单!

解决方案 »

  1.   

    好像不需要这么复杂吧,直接从Vector继承一个类,把所有以Object作为参数或者返回参数的方法重写一下,加上类型判断就可以了吧。
      

  2.   

    public class StringVector{  private static final int DEFAULT_SIZE = 3;
      private String [] data;
      private int count;
      public StringVector() {    this(DEFAULT_SIZE);
      }
      public StringVector(int initialSize){    data = new String[initialSize];
      }
      public void add(String str){    if(str == null)
          return;
        ensureCapacity(count + 1);
        data[count++] = str;
      }
      private void ensureCapacity(int minCapacity){    int oldCapacity = data.length;
        if (minCapacity > oldCapacity){      String oldData[] = data;
          int newCapacity = oldCapacity * 2;
          data = new String[newCapacity];
          System.arraycopy(oldData, 0, data, 0, count);
        }
      }
      public void remove(String str){    if(str == null)
          return;
        for(int i = 0; i < count; i++){      if(data[i].equals(str)){        System.arraycopy(data,i+1,data,i,count-1);
            data[--count] = null;
            return;
          }
        }
      }
      public final String get(int index) {    if(index < 0)
          return null;
        else if(index > count)
          return null;
        else
          return data[index];
      }
      public int size(){    return count;
      }
    }
      

  3.   

    yabbi21(yabbi21) 光有这些还不够吧,Vector是AbstractList的子类,还实现了Cloneable, Collection, List, Serializable 这些接口。如果要完全仿真Vector的话,这些也是不可少的。
      

  4.   

    有必要吗?
    有这时间你去看看j2ee好不好。
      

  5.   

    在 Vector 外包一个类,代理 存/取 数据, 其中包括 String 型判断。
      

  6.   

    是不是需要用instanceof来判断一下是否是String