在阅读tomcat4源码中发现删除数组中的元素的方法,记录一下。
private Service services[] = new Service[0];
public void removeService(Service service) {
synchronized (services) {
int j = -1;//删除元素在数据中的 索引
for (int i = 0; i < services.length; i++) {
if (service == services[i]) {
j = i;
break;
}
}
if (j < 0)
return;
if (services[j] instanceof Lifecycle) {
try {
((Lifecycle) services[j]).stop();
} catch (LifecycleException e) {
;
}
}
int k = 0;
Service results[] = new Service[services.length - 1];
for (int i = 0; i < services.length; i++) {
if (i != j) //遍历数组元素不为要删除数组元素索引的 保存
results[k++] = services[i];
}
services = results;
// Report this property change to interested listeners
support.firePropertyChange("service", service, null);
}
}