首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中返回boolean (primitive)?

如何在java中返回boolean (primitive)?
EN

Stack Overflow用户
提问于 2017-05-19 03:32:44
回答 3查看 798关注 0票数 0

我是java的新手,因此,我不能完全确定我这样做是否正确。我要做的是找出字符串列表中的项数是否为偶数和原语。

代码语言:javascript
复制
public class LearnAboutInputs { 
    public boolean isEven(String[] value) {
        if (value.size() % 2 == 0 && boolean == true) {
            return true;
        } else {
            return false;
        }
    }
}
EN

回答 3

Stack Overflow用户

发布于 2017-05-19 03:37:44

你放在那里的东西是无效的。要使其有效,最小的编辑应为:

代码语言:javascript
复制
public class LearnAboutInputs { 
    public boolean isEven(String[] value) {
        if(value.length % 2 == 0) {
            return true;
        }
        else {
            return false;
        }

假设您打算查看数组的长度,而不是查看数组中一个或多个字符串的大小()。

但是,if检查本身是布尔型的,因此您可以更简洁地编写:

代码语言:javascript
复制
public class LearnAboutInputs { 
    public boolean isEven(String[] value) {
        return value.length % 2 == 0;
    }

SeeDart和PoisonedYouth提出了关于null检查的一个很好的观点,因此将其添加到简洁的示例中会导致:

代码语言:javascript
复制
public class LearnAboutInputs { 
    public boolean isEven(String[] value) {
        return value != null && value.length % 2 == 0;
    }

如果值为null,则语句将短路为false,因此不会计算后半部分,从而使其有效。

如果您希望返回Boolean类的对象而不是primitive boolean,请将返回类型从小写“Boolean”更改为首字母大写的“Boolean”单词。方便的autoboxing特性将为您完成跑腿工作。

代码语言:javascript
复制
public class LearnAboutInputs { 
    public Boolean isEven(String[] value) {  // Return object rather than primitive.
        return value != null && value.length % 2 == 0;  // Autoboxing transforms the generated `boolean` primitive value into a `Boolean` object.
    }
票数 5
EN

Stack Overflow用户

发布于 2017-05-19 03:37:07

您的代码几乎是正确的。我修复了一些语法错误,但我不确定您想用boolean == true做什么。确保您的输入是有效的也是一个很好的做法!

代码语言:javascript
复制
public class LearnAboutInputs { 
    public boolean isEven(String[] value) {
        if (value == null) {
            return false;
        }
        if (value.length % 2 == 0) {
            return true;
        }
        else {
            return false;
        }
    }
}
票数 3
EN

Stack Overflow用户

发布于 2017-05-19 03:47:36

这里有各种各样的东西。让我们重写:

代码语言:javascript
复制
public class LearnAboutInputs { 
  public boolean hasEvenLength(String[] value) {
    if (value != null && value.length % 2 == 0) {
      return true;
    }
    return false;
  }
}

合理的修改如下:

  • 更改方法名称以表明方法是什么,这是

-块;这里根本不需要-并且不使用else块会使可能的控制流看起来更像else块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44056391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档