谁能帮助我了解这条线?我试图用“如果..其他”来转换它,但是没有用。提前致谢。

return (patient1.isEmergencyCase() == patient2.isEmergencyCase()) ? (Integer.valueOf(patient1.getId()).compareTo(patient2.getId())) : (patient1.isEmergencyCase() ? -1 : 1);

最佳答案

if (patient1.isEmergencyCase() == patient2.isEmergencyCase()) {
    return Integer.valueOf(patient1.getId()).compareTo(patient2.getId());
} else if (patient1.isEmergencyCase() ) {
    return -1;
} else {
    return 1;
}


换句话说,这是一种排序,可能是决定哪个病人先出现。您通常会在compareTo方法中找到这样的代码,该方法通常用于对列表进行排序,在这种情况下,该代码定义了谁以哪个顺序“被服务”。

如果partient1是“较小/较早/等”,则返回-1,如果这两个都是紧急情况并且患者1的id较低,或者如果仅患者1是紧急情况,则返回-1,否则返回1(或0,都是紧急情况)情况及其ID相等)。

如果概念尚不清楚,可以看看:Comparable

10-05 23:22