【发布时间】:2019-08-26 01:18:55
【问题描述】:
我不知道“?”的用法和“:”。
return value < current.value
? containsNodeRecursive(current.left, value)
: containsNodeRecursive(current.right, value);
【问题讨论】:
标签: java
我不知道“?”的用法和“:”。
return value < current.value
? containsNodeRecursive(current.left, value)
: containsNodeRecursive(current.right, value);
【问题讨论】:
标签: java
return value < current.value
? containsNodeRecursive(current.left, value)
: containsNodeRecursive(current.right, value);
等于
if (value < current.value)
return containsNodeRecursive(current.left, value)
else
return containsNodeRecursive(current.right, value);
意思是
条件?如果为真则执行:如果为假则执行
【讨论】:
完全等价于:
if (value < current.value) {
return containsNodeRecursive(current.left, value);
else {
return containsNodeRecursive(current.right, value)
}
只是一种更紧凑的编写方式。通常用于简短的 if/else 条件,不使用五行代码,而只使用一行。
【讨论】: