有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java中返回布尔值(基元)?

我是java新手,因此,我不完全确定我是否做对了。我要做的是找出字符串列表中的项数是否为偶数,是否为基元

public class LearnAboutInputs { 
    public boolean isEven(String[] value) {
        if (value.size() % 2 == 0 && boolean == true) {
            return true;
        } else {
            return false;
        }
    }
}

共 (3) 个答案

  1. # 1 楼答案

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

    public class LearnAboutInputs { 
      public boolean hasEvenLength(String[] value) {
        if (value != null && value.length % 2 == 0) {
          return true;
        }
        return false;
      }
    }
    

    此处的合理更改:

    • 更改方法名称以说明该方法正在执行的操作
    • 避免else块;这里根本不需要——并且没有else块,这使得可能的控制流看起来更加清晰
  2. # 2 楼答案

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

    public class LearnAboutInputs { 
        public boolean isEven(String[] value) {
            if(value.length % 2 == 0) {
                return true;
            }
            else {
                return false;
            }
    

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

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

    public class LearnAboutInputs { 
        public boolean isEven(String[] value) {
            return value.length % 2 == 0;
        }
    

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

    public class LearnAboutInputs { 
        public boolean isEven(String[] value) {
            return value != null && value.length % 2 == 0;
        }
    

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

    如果要返回类为^{}的对象而不是primitiveboolean,请将返回类型从小写的“boolean”更改为大写的“boolean”字。方便的autoboxing功能将为您完成腿部工作

    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.
        }
    
  3. # 3 楼答案

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

    public class LearnAboutInputs { 
        public boolean isEven(String[] value) {
            if (value == null) {
                return false;
            }
            if (value.length % 2 == 0) {
                return true;
            }
            else {
                return false;
            }
        }
    }