Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java引用了新的小故障_Java_Reference - Fatal编程技术网

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:您可以详细说明您的注释并将其作为答案发布。或者更好的做法是,始终创建新流程。你可能不应该尝试重用一个对象。是的,但是过程是随机的,我需要比较三种不同的算法和相同的输入数据。谢谢你的帮助:)