java引用了新的小故障
有这个领域吗java引用了新的小故障,java,reference,Java,Reference,有这个领域吗 Queue<Process> processQueue; 队列处理队列; 通过此方法设置: public void loadProcesses(ProcessGenerator pg, int numberOfProcesses){ this.numberOfProcesses = numberOfProcesses; Process[]array = pg.generateProcesses(numberOfProcesses);
Queue<Process> processQueue;
队列处理队列;
通过此方法设置:
public void loadProcesses(ProcessGenerator pg, int numberOfProcesses){
this.numberOfProcesses = numberOfProcesses;
Process[]array = pg.generateProcesses(numberOfProcesses);
processQueue = new LinkedList<Process>();
for(Process x: array){
processQueue.add((Process)x);
}
}
public void加载进程(ProcessGenerator pg,int numberOfProcesses){
this.numberofprocesss=numberofprocesss;
进程[]数组=pg.generateProcess(进程数);
processQueue=newLinkedList();
用于(进程x:阵列){
processQueue.add((进程)x);
}
}
但是,即使创建(我认为我这样做了)新引用以不更改此字段:
Queue<Process> procQueue = new LinkedList<Process>(processQueue);
Queue procQueue=newlinkedlist(processQueue);
在某些方法中,它正在更改
processQueue
。故障在哪里?没有发现。你能详细说明一下吗?我生成随机进程,这些进程通过方法进行修改,但不想更改原始队列。所以,在启动测试时,只有第一个方法可以正常工作,但对于其他方法,我在一个流程字段中得到零,因为以前的方法正在更改字段,这是不应该发生的。@SubhrajyotiMajumder:您可以详细说明您的注释并将其作为答案发布。或者更好的做法是,始终创建新流程。你可能不应该尝试重用一个对象。是的,但是过程是随机的,我需要比较三种不同的算法和相同的输入数据。谢谢你的帮助:)