我工作的一个JavaEE应用,我有以下方法:条件语句:死代码
public String alterar_data_ato_med (int cod_ato, GregorianCalendar nova_data) {
AtoMedico a=em.find(AtoMedico.class,cod_ato);
Medico m=a.getmedico();
Utente u=a.getutente();
GregorianCalendar today=new GregorianCalendar();
if(a==null){
return "Ato Médico inexistente!";
}else{
if(m.getAgenda_atos().contains(nova_data)||m.getAgenda_consultas().contains(nova_data)){
return "Médico indisponível";
}else{
if(u.getAgenda().contains(nova_data)||nova_data.before(today)){
return "Data indisponível!";
}else{
GregorianCalendar antiga_data=a.getData_ato_med();
a.setData_ato_med(nova_data);
m.getAgenda_atos().remove(antiga_data);
u.getAgenda().remove(antiga_data);
return "Data do ato médico alterada!";
}
}
}
}
第一if-else语句似乎是“死码”。可以请某人帮我理解为什么?
究竟哪一部分是死码? –
第一个:'if(a == null){return“Atomédicoinexistente!”;} else {...' – Ghost
也FYI,所有'其他'都是无用的,因为你在所有if案例 – Hacketo