如何在没有else分支的情况下在Java中使用三元运算符

时间:2015-01-21 13:57:54

标签: java

我有这个表达式,我希望使用?运算符将它放在一行中。

for (Area a : listaArea) {
    if (a.getIdArea() == user.getIdArea()) {
        user.setNomArea(a.getNomArea());
    }
}

这就是我的尝试:

for (Area a : listaArea) {a.getIdArea() == user.getIdArea() ? user.setNomArea(a.getNomArea())}

如何将if转换为?表达式?

1 个答案:

答案 0 :(得分:0)

正如JLS所述:

  

第二个或第三个操作数是编译时错误   表达式是一个void方法的调用。

假设你的setter更可能没有返回类型,那么就不可能在这种情况下使用三元运算符。