当我用两个分号结束一行时,编译器不会抱怨.为什么?

pac*_*man 5 java

当我结束这样一条线时,我觉得会发生不好的事情.但编译器甚至没有抱怨.有没有人有一个想法,为什么这在java中是合法的.

displayDataMap.put("dateInterval", getDateInterval());;

编辑:Eclipse没有抱怨的原因是因为preference->java->compiler->Errors/Warning我有Empty语句:as ignore.

在此输入图像描述

sti*_*vlo 10

这是一个空的陈述,是有效的.正如jwodder所指出的,更确切地说,空语句是两个分号之间缺少语句,可以用两个连续的分号或用空格分隔的分号(包括新行)表示.

像Eclipse这样的IDE会警告你这件事.如果您查看下面的图片,我在第236行插入了一个双分号.我添加了红线以集中注意力,但Eclipse提供了许多视觉提示:

  • 分号下的锯齿状黄线.
  • 在236行的左边缘有一个警告标志的灯泡,通过盘旋在该线上,它会弹出一条小信息,上面写着"不必要的分号".
  • 在包含目录和包的栏上,再次显示警告标志.它显示每个包或源文件夹,其中至少包含一个警告.
  • 在包浏览器和导航器文件图标上将显示相同的灯泡图标(不在此屏幕截图中).

在此输入图像描述

  • 并且应该避免,因为编译器在每个空语句的字节码中插入10000个NOP ....不,开个玩笑:) (3认同)