我正在制作一个项目,但我遇到了一些问题。 我有一个像这样的飞行课:
public class Flight implements Cloneable {
private String idFlight;
private Horaire hourFlight;
private String city;
private static Vector<Flight> flights = new Vector<Flight>();
private Hashtable<Integer,Task> tasks = new Hashtable<Integer,Task>();
private Plane thePlane;
...
我有一个静态方法&#34; cancelFlight&#34;像这样:
public static void cancelFlight(String idFlight){
Flight v=getFlight(idFlight);
Iterator<Task> it = v.tasks.values().iterator();
while(it.hasNext)
{
it.remove();
}
int index=flights.indexOf(v);
flights.remove(index);
但是任务也在另一个类的Hashtable中,工人。
private Hashtable<Integer,Task> tasks = new Hashtable <Integer,Task>();
那么,我该怎么办?有没有能够删除类实例的方法? 我的另一个解决方案是在类Worker#34; removeFromTask(int idTask)&#34;中创建一个方法。但它太复杂了...... :(
答案 0 :(得分:-1)
如果在两个类中都引用了tasks属性,那么您不需要在那里执行其他删除操作。但是如果你克隆它(即创建新的地图实例),你也需要删除另一个类中的任务。