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