我猜虽然在 PHP 中是可以接受的(我不在 PHP 中编写代码),但在 Java 中的条件内进行赋值被认为是非常糟糕的形式。(这是因为它很容易出错并且很难发现,= 和 == 之间的区别在于大量代码的中间。这是基于多年 C 和 C++ 经验的深思熟虑的选择。)
事实上,我不能完全按照你的代码。你说“returnMessage 有 2 个布尔值和一个字符串”,但是我在 PHP 中理解的测试是myObject->myMethod()->finished != null
并且returned
被设置为 的值finished
,但是你去测试$returned -> finished
它与myObject->myMethod()->finished->finished
. 对不起,如果我误解了 PHP 语法。
Java 中的一般建议更符合以下方面:
ReturnMessage returned = myObject.myMethod().getFinished();
while (returned != null) {
...
returned = myObject.myMethod().getFinished(); // or did you mean myObject.myMethod();
}
if (!returned.finished) { // or, better: if (!returned.isFinished())
...
}
如果我误解了 PHP,请告诉我,我将修复 Java 代码以匹配。