Java相当于Ruby的`code if条件`

时间:2015-04-18 02:12:26

标签: java

之前可能已经提出这个问题,但我似乎无法在谷歌找到任何有用的东西(可能我找错了),也不在这里。

Ruby中code if condition的等价物(如果有的话)是什么?

Ruby中的示例(取自TutorialsPoint):

$debug=1
print "debug\n" if $debug

在Java中而不是

if (conditional) {
    doSomething();
}

我想做点什么

doSomething() if (conditional);

如果我这样做

if (conditional) doSomething();

我收到警告,建议反转if。

2 个答案:

答案 0 :(得分:5)

你不能用Java做到这一点,它不是合法的语法。

你可以,

if (conditional) doSomething();

if (conditional) {
    doSomething();
}

甚至更改doSomething()的签名即可获得boolean然后

doSomething(conditional);

但是如果不编写预编译器,则无法在语言中添加所需的语法。

有关详情,请参阅JLS-14.9. The if Statement

答案 1 :(得分:1)

没有等价物。 Ruby语句比其他任何语句都更具语法性,因为你可以用与Java相同的方式编写if语句。

对于Java,您可以将表达式包装在if语句中:

if(conditional) {
    takeAction();
}