我有以下代码:

 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()不起作用?

谢谢,

最佳答案

根据您的代码,如果有条件,则应排在第一位。

能否请您输入else条件并在bookingType中打印值?

还要确保您没有在其他任何地方设置bookingType。如果您可以提供更完整的代码示例,它将会更有帮助。
并提供您如何确定条件检查是否无效和错误的信息。

07-24 09:27