如何在我的 main 方法中访问布尔数组的辅助方法?

How can I access a helper method for a boolean array in my main method?

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


import java.util.Scanner;

ew Boolean[count];

    }
    
}

我在哪

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

Ideone demo


解释:

Boolean 是原语 boolean 的 wrapper-class。因此,可以写

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

Ideone demo

此行为称为 Autoboxing and -unboxing. However, even though arrays are covariant,它们仅在 object-hierachy 内是协变的,而不是包装类型。这就是无法将 Boolean[] 分配给 boolean[] 和 vice-versa.

的原因

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

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

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