首页 > 解决方案 > 有没有一种优雅的方法来重命名 Java 布尔值以提高我的代码的可读性?

问题描述

假设我有以下(Java 8)代码:

private void toggleNewUser() {
    if (ToggleButton.isOn()) {
        fadeLabel(true);
        transitionButtons(true);
    }
    else {
        fadeLabels(false);
        transitionButtons(true);
    }
}

我的fadeLabeltransitionButtons函数在淡入淡出和淡入淡出之间切换,当布尔值分别是true和时它们会这样做false。但是我想用“in”和“out”替换trueand false,以提高我的代码的可读性。有什么优雅的方法吗?

我能想出的唯一方法是有点笨拙,而且不是很优雅:

private void toggleNewUser() {

    boolean in = ToggleButton.isOn();
    boolean out = ToggleButton.isOn();

    if (ToggleButton.isOn()) {
        fadeLabel(in);
        transitionButtons(in);
    }
    else {
        fadeLabels(out);
        transitionButtons(out);
    }
}

标签: javabooleanreadability

解决方案


作为一种简单的方法,也许为 TRUE 和 FALSE 定义常量可以吗?在您的班级中定义它们,例如:

public static final boolean IN = true;
public static final boolean OUT = false;

否则,您对 Java 的使用非常有限。您也可以尝试枚举:

public enum Anim {
    IN(true),
    OUT(false);
     
    public final boolean state;
     
    private Element(boolean state) {
        this.state = state;
    }
}

推荐阅读