java - boolean 值 vs boolean 值作为 trilean 开关

标签 java boolean anonymous-class

我正在开发 Android 应用程序,但遇到了一些问题。我有一些匿名类(事件监听器)。它们是从数据库中参数化的。我所做的是:

buttonA.setOnTouchListener(new View.OnTouchListener() {
                        private Boolean isActive = null;
                        private boolean isTrigger;
                        private int onLevel;
                        private int offLevel;
                        private int chIdx;

                        @Override
                        public boolean onTouch(View v, MotionEvent event) {
                            if (isActive == null) {
                                Cursor btnSettings = dbHelper.getButtonsTable().fetchButton(1, profileId, currentMode);
                                ...
...
                            }
                            return true;
                        }

将 boolean 对象用作三元开关(如果监听器尚未参数化,则它具有空值)是否被认为是一种好习惯,或者我应该使用两个 boolean 变量……或者一个整数?

你有什么想法吗?

最佳答案

最好的是,使用具有三种状态准确描述的类型(可能是枚举)。 boolean 值不会向调用函数的人提供很多信息(尤其是用作三态时)。

public enum ActiveStatus {
  On,
  Off,
  Unknown
}

关于java - boolean 值 vs boolean 值作为 trilean 开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6776002/

相关文章:

java - 内部框架监听器不工作

java - 两个模块和一项服务。如何处理?

java - 在 Java 中将 Boolean 转换为 boolean 并处理 null 的实用方法

javascript - 如何在javascript中检查对象的属性数组是否为空

JAVA : factorise code -> runnable anonymous class

java - 在Java中以编程方式设置gmail中不太安全的应用程序

Java - 卡住鼠标

python - 如何在 Python 中使用 boolean 值?

java - 这种技术在 Java 中叫什么?

scala - Scala 中的多个 Trait 构造错误