Java 如何检查二维数组是否为空

Java 如何检查二维数组是否为空,java,multidimensional-array,Java,Multidimensional Array,如何检查此二维数组是否为空 这是我的代码: String[][] user = new String[5][3]; System.out.print(user.length); if (user.length == 5 ){ System.out.print("\n empty"); } for (int j=0; j<3; j++) {

如何检查此二维数组是否为空

这是我的代码:

      String[][] user = new String[5][3];

        System.out.print(user.length);

            if (user.length == 5 ){
                System.out.print("\n empty");
            }

        for (int j=0; j<3; j++) {
            System.out.print(" " + user[0][j]+ "\n");
        }

有人知道我的情况吗?

我想你误解了Java中的某些东西。当你写作时:

String[][] user = new String[5][3];

user.length will always be 5 and 

user[0].length = user[1].length = ... = user[5].length = 3
如果要检查数组中的所有值是否为emty,可以执行以下操作:

boolean notNull = false;
for(String[] array : user){
    for(String val : array){
      if(val!=null){
        notNull=true;
        break;
      }
    }
}
if(notNull){
  System.out.println("Array not empty)";
}else{
     System.out.println("Array empty");
}
另一个解决办法是使用:


我建议使用ApacheCommonsLang3。此库中存在用于处理阵列的实用程序。 类的名称为
ArrayUtils
。对于示例:

    String[][] user = new String[5][3];
    for(String[] nestedArray : user)
        if(ArrayUtils.isEmpty(nestedArray))
            System.out.println("Is empty");
Apache Commans Lang3是一个很好的实用工具。
有关更多信息,请参阅

有时在遇到竞争性编程问题时,为了处理这种情况,需要一些下面代码段中的代码。仅检查矩阵.length==0将不起作用,因为它只给出行是否为空,但其中可能存在列

if(matrix.length < 1 || matrix[0].length < 1) {
    return true; //empty
}
if(matrix.length<1 | | matrix[0]。length<1){
返回true;//为空
}

缺少一些代码,不是吗?最多一个
System.out.println
,您是如何获得如此多的输出的?定义为“空”。你是说
null
还是
”?我想你没有发送完整的代码。不客气。我是来帮忙的:)谢谢你的反馈。
    String[][] user = new String[5][3];
    for(String[] nestedArray : user)
        if(ArrayUtils.isEmpty(nestedArray))
            System.out.println("Is empty");
if(matrix.length < 1 || matrix[0].length < 1) {
    return true; //empty
}