我对java很陌生,所以请耐心等待。我正在尝试压缩我的一些代码,并且想知道如何使用 && 或 || 编写三元运算符。那么我如何将下面的代码变成速记三元运算符。
if(homePage != null && currentParentPage.getPath().equals(homePage.getPath())){
isParent = true;
}
我对java很陌生,所以请耐心等待。我正在尝试压缩我的一些代码,并且想知道如何使用 && 或 || 编写三元运算符。那么我如何将下面的代码变成速记三元运算符。
if(homePage != null && currentParentPage.getPath().equals(homePage.getPath())){
isParent = true;
}
实际上,要将您的代码转换为三元组,您必须编写代码
isParent = (homePage != null && currentParentPage.getPath().equals(homePage.getPath()))
? true : isParent;
正在做
isParent = (homePage != null && currentParentPage.getPath().equals(homePage.getPath()));
或者
isParent = (homePage != null && currentParentPage.getPath().equals(homePage.getPath()))
? true : false;
修改假腿上的 isParent,这不是原始代码所做的。
三元运算符旨在表示 if-else 情况。您的案例仅包含一个 if 子句,因此您不需要一个。如果您明确想要将 isParent 设置为 false (如果失败),则可以使用一个,即
isParent = (homePage != null &&
currentParentPage.getPath().equals(homePage.getPath())) ? true : false;
这意味着如果 ? 如果为真,则返回第一个值 (true),否则返回第二个值 (false)。
根据下面的评论,您真的不需要使用三元数进行布尔赋值。这可以简化为:
isParent = (homePage != null &&
currentParentPage.getPath().equals(homePage.getPath()));
(homePage != null && currentParentPage.getPath().equals(homePage.getPath()))
? isParent = true
: isParent = false;
我建议以最简单的方式执行此操作 - 而不是使用三元运算
isParent = (homePage != null && currentParentPage.getPath().equals(homePage.getPath()));