在if语句中编写相等性测试

时间:2009-01-17 05:22:20

标签: if-statement

我想知道是否有人可以为我阐明这一点。当我使用Eclipse的Checkstyle插件时,我在以下语句中收到了一条警告消息(不完全是这个,但是这个形式):

if (x != y)
{
   do();
}

为什么这是一个问题?

编辑:我道歉,我应该更清楚我的问题。非常感谢您的回答;他们实际上帮助我解决了一个完全不同的问题。

我建议的警告我不使用“x!= y”形式的测试,而是使用“x = y”形式的测试。我想知道为什么一个会比另一个好。

3 个答案:

答案 0 :(得分:3)

LeftCurly检查程序的默认设置为“eol”。这意味着您正在执行if语句(和类似的块)应如下所示的规则:

if (x != y) {
    do();
}

如果您更喜欢问题中显示的样式,请使用Checkstyle手册的lcurly policy部分中描述的“nl”设置。

您可以像这样修改Eclipse中的设置:

  1. 从“窗口”中选择“首选项”。
  2. 如果需要,请创建一个新的检查配置(通常通过复制其中一个不可修改的原件)并将其设为默认配置。
  3. 双击新配置,单击“块”,然后双击“左侧卷曲支撑放置”。修改并保存。

答案 1 :(得分:0)

请参阅Checkstyle的检查说明+基本原理:Standard Checks

答案 2 :(得分:-1)

是否有“其他”?

我认为如果你写了类似的东西

if (x != y)
{
   do();
}
else 
{
   doSomethingElse();
}

我也建议

if (x == y)
{
   doSomethingElse();
}
else 
{
   do();
}