我在Java中遇到了以下使用JDK13.0的奇怪行为
String foo = "Something";
String bar = "Other";
if (foo.equals(bar));
{
System.out.println("Face palm");
}可悲的是,上面的取代了,“脸掌纹”被打印出来。导致此行为的原因是if语句末尾存在分号。
正确的做法是:
String foo = "Something";
String bar = "Other";
if (foo.equals(bar))
{
System.out.println("Face palm");
}有人能解释一下为什么Java的行为是这样的吗?
这是否仅仅是编译器错误的语法呢?
发布于 2019-11-03 09:44:26
这并不意味着比较成功--基本上您只是创建了带有空体的if语句,然后打开了本地匿名代码块(从{开始)。
本例中的Face palm值将始终打印出来--不管结果如何。
点击此处阅读更多信息:
https://stackoverflow.com/questions/58678951
复制相似问题