加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用布尔对象

发布时间:2020-12-15 08:35:42 所属栏目:Java 来源:网络整理
导读:我在尝试获得我想要的结果时遇到了问题.基本上我想做的是有一个布尔对象,这将允许我有3个选择,如果邮件程序是旧的我希望它被设置为false(意思是不包含“mapQ.cmd”和“add-coid.cmd” “文件) 如果邮件程序是新的,我希望它设置为true(如果它是新的,它将在目
我在尝试获得我想要的结果时遇到了问题.基本上我想做的是有一个布尔对象,这将允许我有3个选择,如果邮件程序是旧的我希望它被设置为false(意思是不包含“mapQ.cmd”和“add-coid.cmd” “文件)

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

这就是我所拥有的,我想放置一个elseif而不是else,并在其中做一个其他设置空值,意思是上面的非,然后我希望返回布尔值.
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;
    }
}

解决方法

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

如果您坚持使用布尔值,请使用大写B版本而不是小写b. Capital B Boolean是一个对象,可以设置为null并执行您描述的操作.小写b布尔值是基元,不能设置为null.

但是,当设计为2时,有一种更好的方法不依赖于对3个值使用布尔值.

使用枚举,您可以根据需要定义类型,并根据需要提供尽可能多的类型.这是一个例子以及如何使用它.

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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读