第2个问题 自己建一个类扩展Vector类,然后重载其中的add和addElement和其他用来加元素的方法在该方法中判断所加的对象是否为String,不是的话就抛出异常,非常简单! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像不需要这么复杂吧,直接从Vector继承一个类,把所有以Object作为参数或者返回参数的方法重写一下,加上类型判断就可以了吧。 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; }} yabbi21(yabbi21) 光有这些还不够吧,Vector是AbstractList的子类,还实现了Cloneable, Collection, List, Serializable 这些接口。如果要完全仿真Vector的话,这些也是不可少的。 有必要吗?有这时间你去看看j2ee好不好。 在 Vector 外包一个类,代理 存/取 数据, 其中包括 String 型判断。 是不是需要用instanceof来判断一下是否是String 求一sql的正则 加入背景图的问题 请教jfreechart和itext结合的问题! 高手请进!帮我看一下我这个JAVA连接mysql的程序有什么问题 Java和VB用Socket通信问题 窗口关闭事件 新手问题,搞了好久都没搞好…… --------- 又继承,又实现,左右都是错 求助:删除J2SDK出现问题!(在线等待) 郁闷,估计又是package 问题!!!热锅上的蚂蚁,恳请各路高手帮忙降温 这个程序为什么编译通过,运行有错? 高分提问!!
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;
}
}
有这时间你去看看j2ee好不好。