1. ホーム
  2. java

[解決済み] 配列がNULL/空であるかどうかを確認するにはどうすればよいですか?

2022-03-11 15:33:41

質問

私は int 配列が空であるかどうかをチェックします。

例えば、以下のコードのif文の条件が決して真にならないのはなぜでしょうか?

int[] k = new int[3];

if (k == null) {
    System.out.println(k.length);
}

解決方法は?

とは重要な違いがあります。 null 配列と空の配列があります。これは null .

int arr[] = null;
if (arr == null) {
  System.out.println("array is null");
}

ここでいう「空」とは、正式な意味を持ちません。私は、要素が0個であることを空と定義することにしています。

arr = new int[0];
if (arr.length == 0) {
  System.out.println("array is empty");
}

空」の別の定義として、すべての要素が null :

Object arr[] = new Object[10];
boolean empty = true;
for (int i=0; i<arr.length; i++) {
  if (arr[i] != null) {
    empty = false;
    break;
  }
}

または

Object arr[] = new Object[10];
boolean empty = true;
for (Object ob : arr) {
  if (ob != null) {
    empty = false;
    break;
  }
}