Java 三元运算符逻辑解释
Java ternary operator logic explanation
谁能解释一下这行 java 代码在做什么?
public String getTitleNavContainer(boolean isThisLandingPage) {
return isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
}
我可以看到它在做什么,但我想知道如何修改它,以便如果它是登录页面,它只做一件事,否则做另一件事。
感谢您的帮助。
return isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
等同于:
public String getTitleNavContainer(boolean isThisLandingPage) {
if ( isThisLandingPage ){
return StringUtils.EMPTY;
}
else{
return "title-nav-container";
}
}
它只是一种更短的编写方式,使代码更易于阅读。
您使用的三元运算符(或条件运算符)是 Java if/then/else 语法的替代方法,但它不止于此,甚至可以在右侧使用Java 个语句。
基本上它评估谓词
;(boolean expression) (if it is true) (if it is false)
isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
而这个表达式 returns 那个值取决于布尔表达式,这个值是函数 returns 来自这个 class doc 的空字符串 "" 或字符串 "title-nav-container".
希望对你有所帮助
上面一行叫做ternary operator
Ternary Operator
接受三个参数,它的sudo代码是
condition ? statement1 : statement2
条件:这部分应该有有效的条件语句并且应该return只有布尔值
语句 1: 如果条件为 true
那么 statement1
将执行
语句 2: 如果条件是 false
那么 statement2
将执行
现在看看你的代码块
public String getTitleNavContainer(boolean isThisLandingPage) {
return isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
}
if isThisLandingPage
is true
then StringUtils.EMPTY
will execute else title-nav-container
execute
为了快速理解,将代码转换为 if-else
语句
if (isThisLandingPage)
{
return StringUtils.EMPTY;
}
else
{
return title-nav-container;
}
谁能解释一下这行 java 代码在做什么?
public String getTitleNavContainer(boolean isThisLandingPage) {
return isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
}
我可以看到它在做什么,但我想知道如何修改它,以便如果它是登录页面,它只做一件事,否则做另一件事。
感谢您的帮助。
return isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
等同于:
public String getTitleNavContainer(boolean isThisLandingPage) {
if ( isThisLandingPage ){
return StringUtils.EMPTY;
}
else{
return "title-nav-container";
}
}
它只是一种更短的编写方式,使代码更易于阅读。
您使用的三元运算符(或条件运算符)是 Java if/then/else 语法的替代方法,但它不止于此,甚至可以在右侧使用Java 个语句。
基本上它评估谓词
;(boolean expression) (if it is true) (if it is false)
isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
而这个表达式 returns 那个值取决于布尔表达式,这个值是函数 returns 来自这个 class doc 的空字符串 "" 或字符串 "title-nav-container".
希望对你有所帮助
上面一行叫做ternary operator
Ternary Operator
接受三个参数,它的sudo代码是
condition ? statement1 : statement2
条件:这部分应该有有效的条件语句并且应该return只有布尔值
语句 1: 如果条件为 true
那么 statement1
将执行
语句 2: 如果条件是 false
那么 statement2
将执行
现在看看你的代码块
public String getTitleNavContainer(boolean isThisLandingPage) {
return isThisLandingPage ? StringUtils.EMPTY : "title-nav-container";
}
if isThisLandingPage
is true
then StringUtils.EMPTY
will execute else title-nav-container
execute
为了快速理解,将代码转换为 if-else
语句
if (isThisLandingPage)
{
return StringUtils.EMPTY;
}
else
{
return title-nav-container;
}