Twi*_*erz 1 java loops while-loop nested-loops
我在java程序中遇到了一些嵌套的while循环问题.从我调试的代码开始,我的代码会检查第二个while循环语句,然后永远退出循环.我不知道为什么会发生这种情况所以我会在这里发布代码:
while (current != null) {
if(id == current.getMovie().getId()) {
movieExists = true;
movie = current;
while (checkCurrent == movie) {
showingPointer = checkCurrent.getMovie().getLinkHead();
while (showingPointer != null) {
if (cal.compareTo(showingPointer.getShowing().getShowingCalendar()) == 0) {
return false;
}
showingPointer = showingPointer.getNext();
}
checkCurrent = checkCurrent.getNext();
}
}
current = current.getNext();
}
Run Code Online (Sandbox Code Playgroud)
这个说法
while (checkCurrent == movie) {
Run Code Online (Sandbox Code Playgroud)
比较对象引用并始终为false.这不是比较两个实例的方法
您可能希望更改代码以比较值
while(checkCurrent.getMovie().getId() == movie.getMovie().getId()){
Run Code Online (Sandbox Code Playgroud)
或者实现equals()进行比较.
更多关于平等