【问题标题】:How can I access a helper method for a boolean array in my main method?如何在我的 main 方法中访问布尔数组的辅助方法?
【发布时间】:2020-12-12 14:21:58
【问题描述】:

我在写 这是我目前所拥有的:


import java.util.Scanner;

ew Boolean[count];

    }
    
}

我在哪里

【问题讨论】:

  • 请问您为什么从问题中删除了您的代码?和大部分文字。在您这样做之前,这是一个很好的问题。

标签: java arrays methods boolean


【解决方案1】:

Boolean[]boolean[] 不一样。将Boolean[] vegetarian = new Boolean[count]; 更改为boolean[] vegetarian = new boolean[count]; 即可。

Ideone demo


解释:

Boolean 是原语boolean 的包装类。因此,可以写

boolean b1 = true;
Boolean booleanObject = b;
boolean b2 = booleanObject;

Ideone demo

这种行为称为Autoboxing and -unboxing。然而,即使数组是covariant,它们也只在对象层次结构内是协变的,与包装器类型无关。这就是不能将Boolean[] 分配给boolean[] 的原因,反之亦然。

【讨论】:

    【解决方案2】:

    您正在使用布尔值,这是一个对象。您不能直接将布尔对象与布尔基元进行比较。 尝试使用getVegetarian.booleanValue(), 这会起作用!

     if (list[i].booleanValue() == true) {
                    count++;
                }
    

    顺便说一句,你不必写getVegetarian.booleanValue()==true, getVegetarian.booleanValue() is enough :-)

    【讨论】:

    • OP 代码中的问题在于布尔值和布尔值的 arrays - 它们不能自动装箱/拆箱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 2014-08-07
    相关资源
    最近更新 更多