Java:assert(boolean-expression)

时间:2013-12-27 17:13:19

标签: java interface assert circuit gate

我是Java新手,我正在尝试了解如何使用Java设计电路。我找到了这段代码:

有人可以解释为什么要使用资产:

以下是示例:

 assert(list.length == 2); 

由于

2 个答案:

答案 0 :(得分:2)

assert前置条件。也就是说,该方法在实际执行任何逻辑之前检查它是否被正确调用(带有2个参数)。这是一种常见模式(不够常见,我认为),以确定代码是否正确使用。您也可能会看到后置条件,它断言该方法返回的是有效结果(例如,不是null或类似的)

第二行对2个参数执行AND动作(&&) - 即它执行所需的实际逻辑。

我很惊讶接口允许将多个参数传递给门(多个输入),但该方法仅使用2个参数。您可以轻松地通过所有参数(在这种情况下,您可以完全避免断言)

答案 1 :(得分:0)

断言(...)只是意味着如果括号内的表达式为真,它什么都不做。如果表达式为false,则会引发错误。基本上,当它是假的时候,它告诉那些正在调用这种'ope'方法的人,他们给它的输入太少或太多。

'和'门就是你的想法。如果两个输入都为真,则返回true;如果两个输入都为假,则返回false。 return语句只是按预期对两个输入执行'和'(&&&)操作。