如果block使用false值执行,则使用substring和equals方法

arj*_*ncc 0 java jsp if-statement substring

我需要设置一个变量false,如果字符串以'1'开头,但是下面的代码返回一个真值?我试过"苹果"这个词.我的代码有问题吗?

String msgName=request.getParameter("msgName");
boolean insideIf=false; 

if(msgName.substring(0,1).equals("1"));
    {
        insideIf=true;
                System.out.println("if status :"+msgName.substring(0,1).equals("1"));

    } System.out.println("insideIf :"+insideIf);
Run Code Online (Sandbox Code Playgroud)

Tob*_*obi 7

它是:-)你的if后面有一个分号

String msgName=request.getParameter("msgName");
boolean insideIf=false; 

if(msgName.substring(0,1).equals("1"))
    {
        insideIf=true;
                System.out.println("if status :"+msgName.substring(0,1).equals("1"));

    } System.out.println("insideIf :"+insideIf);
Run Code Online (Sandbox Code Playgroud)


ami*_*mit 5

if(msgName.substring(0,1).equals("1"));
Run Code Online (Sandbox Code Playgroud)

如果条件产生true,则实际执行一个空语句 - 稍后,它总是调用该块:

{
    insideIf=true;
            System.out.println("if status :"+msgName.substring(0,1).equals("1"));

}
Run Code Online (Sandbox Code Playgroud)

解决方案:

  1. [不太优雅] - 删除 ;
  2. 你总是可以设置insideIf = msgName.substring(0,1).equals("1");- 没有真正的if语句原因,你只需要表达式的布尔值!