Java 多重条件运算符
我熟悉三元条件运算符中的多个条件,如下所示:Java 多重条件运算符,java,Java,我熟悉三元条件运算符中的多个条件,如下所示: ( condition A ? value A : ( condition B ? value B : ( condition C ? value C : ... ) ) ) 但我无法理解下面的代码是如何工作的(假设函数返回一个整数: return (co1.Nr() < co2.Nr() ? -1 : ( co1.Nr() == co2.Nr() ? (co1.Id() < c
( condition A ? value A :
( condition B ? value B :
( condition C ? value C :
...
)
)
)
但我无法理解下面的代码是如何工作的(假设函数返回一个整数:
return (co1.Nr() < co2.Nr() ? -1 :
( co1.Nr() == co2.Nr() ? (co1.Id() < co2.Id() ? -1 :
(co1.Id() == co2.Id() ? 0 : 1)) : 1;
返回(co1.Nr()
你能解释一下吗?这是一种主要和次要排序:按Nr排序,如果相等,则按Id排序。返回-1、0和1是用于排序的比较测试的标准。这是一种主要和次要排序:按Nr排序,如果相等,则按Id排序。返回-1、0和1是用于比较测试的标准用于排序。
如果co1.Nr()返回-1
if co1.Nr() < co2.Nr() return -1
else if co1.Nr() == co2.Nr() then
if co1.Id() < co2.Id() return -1
else if co1.Id() == co2.Id() return 0
else return 1
else return 1
否则,如果co1.Nr()=co2.Nr(),则
如果co1.Id()
如果co1.Nr()返回-1
否则,如果co1.Nr()=co2.Nr(),则
如果co1.Id() > >打破它,理解。对于EX:考虑第一部分。
return (co1.Nr() < co2.Nr() ? -1 : (all_other_codes);
如果co1.Nr()==co2.Nr()
true,则返回
(co1.Id() < co2.Id() ? -1 :
(co1.Id() == co2.Id() ? 0 : 1))
(co1.Id()
<返回>代码> 1 < /代码> ./p> < p>断开并理解。对于EX:考虑第一部分。
return (co1.Nr() < co2.Nr() ? -1 : (all_other_codes);
如果co1.Nr()==co2.Nr()
true,则返回
(co1.Id() < co2.Id() ? -1 :
(co1.Id() == co2.Id() ? 0 : 1))
(co1.Id()
否则返回1
以下条件映射
if(co1.Nr() < co2.Nr())
return -1;
else if(co1.Nr() == co2.Nr())
if(co1.Id() < co2.Id())
return -1;
else if(co1.Id() == co2.Id())
return 0;
else
return 1;
else
return 1;
if(co1.Nr()
条件映射到以下
if(co1.Nr() < co2.Nr())
return -1;
else if(co1.Nr() == co2.Nr())
if(co1.Id() < co2.Id())
return -1;
else if(co1.Id() == co2.Id())
return 0;
else
return 1;
else
return 1;
if(co1.Nr()
基本上,这就是代码对if语句的作用
if (co1.Nr()< co2.Nr()){
return -1;
}else if (co1.Nr()==co2.Nr()){
if (co1.Id() <co2.Id()){
return -1;
}else if( co1.Id() == co2.Id()){
return 0;
}else{
return 1;
}
}else
{
return 1;
}
if(co1.Nr() if(co1.Id()基本上这就是代码对if语句的作用
if (co1.Nr()< co2.Nr()){
return -1;
}else if (co1.Nr()==co2.Nr()){
if (co1.Id() <co2.Id()){
return -1;
}else if( co1.Id() == co2.Id()){
return 0;
}else{
return 1;
}
}else
{
return 1;
}
if(co1.Nr() if(co1.Id())这类表达式很难读懂。幸运的是,使用Java 8,您可以编写Comparator.comparingit(MyType::Nr)。然后编写comparingInt(MyType::Id);
您对它有什么不了解?这类表达式很难读懂。幸运的是,使用Java 8,您可以编写Comparator.comparingit(MyType::Nr).Then comparingit(MyType::Id);
关于它,您不了解什么?