我有以下代码设置vrstaProizvoda

private String napraviVrstuProizvoda(String kreditJeAktivanKod, String idArmPlana) {
    String vrstaProizvoda = null;
    if (kreditJeAktivanKod != null && kreditJeAktivanKod.equals("Y")) {
        vrstaProizvoda = VrstaProizvoda.STEP.value();
    } else if (idArmPlana != null && !idArmPlana.isEmpty() && !idArmPlana.equals("0000")){
        vrstaProizvoda = VrstaProizvoda.ARM.value();
    }
    return vrstaProizvoda;

}


查看else if语句,一切都在否定值。有没有更好的方式编写idArmPlana条件,以便于阅读?还是不值得?

最佳答案

您可以按照以下方式写一些东西:

!(idArmPlana == null || idArmPlana.isEmpty() || idArmPlana.equals("0000"))


逻辑仍然相同,但可读性更高。拥有长的and's or or's链永远不是超级可读的,但是在您拥有简单条件或将它们在一起的情况下执行此类操作,然后取反结果就可以了。

08-06 04:00