如何检查数组的所有元素是否不等于某个值? (例如不是空的)

时间:2013-01-13 00:46:47

标签: java arrays

之前的数组。

  String[] player = {"Empty","Empty","Empty","Empty"}

输入后的数组。

String[] player = {"Tom","Bob","Alex","Kid"}

我记得有办法检查数组的所有元素。

if(!player[0].equals("Empty") && !player[1].equals("Empty") && !player[2].equals("Empty") && !player[3].equals("Empty"))
{
   System.out.println("No more space");
}

我的问题。有没有办法选择数组的所有元素?

3 个答案:

答案 0 :(得分:1)

你的意思是:

boolean hasEmpty = false;

for (int i = 0; i < player.length(); i ++)
{
     if(player[i].equals("Empty")){
         hasEmpty = true;
         break;
     }
}

if(hasEmpty) System.out.println("No more space");

答案 1 :(得分:1)

我知道这可能不是一个选项,但是in Java 8 you could do

boolean nonEmpty = Arrays.asList(player).anyMatch(x -> x.equals("Empty"))

答案 2 :(得分:0)

您可以隐式迭代数组

if(!Arrays.asList(player).contains("Empty"))
   System.out.println("No more space.");

或迭代遍历数组

for(String p : player)
{
    if(!p.equals("Empty"))
       continue;
    else
    {
       System.out.println("No more space.");
       break;
    }
}