java If block使用substring和equals方法以假值执行
如果字符串以“1”开头,我需要将变量设置为false,但下面的代码会返回真值吗?我试过“苹果”这个词。我的代码有问题吗
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);
# 1 楼答案
实际上是执行一个空语句,如果条件产生true,那么它总是调用块:
解决方案:
;
insideIf = msgName.substring(0,1).equals("1");
-if语句没有真正的理由,你只需要表达式的布尔值!# 2 楼答案
这是错误线
if语句之后不应该有“;”因为你已经放置了“;”;“因此,这个if循环在这里结束,并按顺序执行下一行。 我希望这是自我解释。 当做 阿尼尔
# 3 楼答案
或许可以选择:
myString。startsWith('1')
我认为这不需要解释
# 4 楼答案
在if语句的末尾添加了分号,因此if-else条件根本不执行。 以下是我认为有效的方法
# 5 楼答案
它是:-) 在if后面有一个分号