我有以下代码:
int bookingType=0;
//mapSize=mapLoaded.size();
DateTime startx = new DateTime(startDate.getTime());
DateTime endx = new DateTime(endDate.getTime());
//booking status
boolean possible = false;
//Booking type: 1 = Project, 2 = Training
if(requestType.equals("Project")){
bookingType = 1;
}else if(requestType.equals("Training")){
bookingType = 2;
}
//produces submap
//mapSize = bookingType;
bookingType = 1;
if(bookingType==1)
{
.....
}else if(bookingType==2){
....
}
测试后的错误是检查bookingType的值。通常==会工作,但在这里它似乎完全跳过它。我检查了bookingType的值,它确实根据requestType更改为1或2。为什么if()不起作用?
谢谢,
答案 0 :(得分:1)
在这里设置bookingType:
if(requestType.equals("Project")){
bookingType = 1;
}else if(requestType.equals("Training")){
bookingType = 2;
}
在这里你覆盖它:
bookingType = 1;
if(bookingType==1)
{
.....
}else if(bookingType==2){
....
}
当然if只会执行if部分。由于您发布了不完整的代码,您可以尝试将else子句添加到if-else if链中,看看它是否被执行。
答案 1 :(得分:1)
根据你的代码,如果条件,它应该首先。
请你把else条件放在bookingType中打印出来吗?
并确保您没有在任何其他地方设置bookingType。如果您能提供更完整的代码示例,将会更有帮助。 并提供如何确定if条件检查不起作用和错误。