java - 使用 boolean 对象

标签 java netbeans if-statement boolean

我在尝试获得我想要的结果时遇到了问题。基本上我想做的是有一个 boolean 对象,它允许我有 3 个选择,如果邮件是旧的,我希望它被设置为 false(意思是不包含“mapQ.cmd”和“add-coid.cmd "文件)

如果邮件程序是新的,我希望它设置为 true(如果它是新的,它将在目录中包含“mapQ.cmd”和“add-coid.cmd”文件),如果它既不是旧的也不是新邮件程序(意思不是邮件程序)然后我希望它为空。

这就是我所拥有的,我想放置一个 elseif 而不是 else,并在其中做一个 else 来设置空值,这意味着不是上面的值,然后我希望返回 boolean 值。 示例中使用了 local-build-deploy.cmd 但我希望使用上面的文件名

private boolean isOldMailer(File mailerFolder) {
    File localBuildAndDeploy = new File(mailerFolder,"test/local-build-deploy.cmd");
    if (localBuildAndDeploy.exists()) {
        return true;
    } else {
        return false;
    }
}

最佳答案

有两种方法可以做到这一点。

如果您坚持使用 boolean 值,请使用大写 B 版本而不是小写 b。 Capital B Boolean 是一个对象,可以设置为 null 并执行您描述的操作。小写 b boolean 是原始类型,不能设置为 null。

但是,有一种更好的方法,它在为 2 个值设计时不依赖于对 3 个值使用 boolean 值。

使用枚举,您可以根据需要定义类型,并且可以根据需要定义类型。这是一个示例以及您将如何使用它。

public enum Status { NEW, OLD, NEITHER }

private Status isOldMailer(File mailerFolder) {
    File localBuildAndDeploy = new File(mailerFolder,"test/local-build-deploy.cmd");
    if (localBuildAndDeploy.exists())
        return Status.NEW;
    else if (/*Something else*/)
        return Status.OLD
    else
        return Status.NEITHER;
}

关于java - 使用 boolean 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918144/

相关文章:

java - 如何在Java的Web项目中找到用户定义的配置文件(xml)的路径

c++ - 使用第三方库 : SFML 时 Netbeans 无法加载共享库

java - 使用 Enum 进行类似 IF 的语句

java - 在方法级别(不是类级别)指定 junit 4 测试的顺序

java - 一对数组,java中的ArrayList

JavaFX通过initialize方法实现Post render事件

java - 找不到部署描述符

azure - 如何在 MS azure 中部署 netbeans 应用程序

java - if 语句不检查条件

MATLAB:检查 'if' 语句是否为真的优雅方法