Java8 FP if/else if/else由lambdas替换

Lie*_*lne 1 java lambda functional-programming

我有Java 8 if语句的问题.如果只使用Java 8 lambdas,有人可以告诉我一种编写此代码的方法吗?解决方案不应该是if,while或者是.它甚至可能吗?

if (first_number == second_number) {
  return "PERFECT";
} else if (first_number > second_number) {
  return "ABUNDANT";
} else {
  return "DEFICIENT";
}
Run Code Online (Sandbox Code Playgroud)

And*_*eas 6

没有"if's,while's或for for",但也没有lambdas:

return (first_number == second_number ? "PERFECT" :
        first_number > second_number ? "ABUNDANT" : "DEFICIENT");
Run Code Online (Sandbox Code Playgroud)

它在Java语言规范中? :称为条件运算符(参见15.25.条件运算符? :),但通常称为三元运算符,因为它是Java中唯一具有3个部分的运算符.