Javaの配列が空と配列長が0の違い
今日問題を解く時にこの問題に出会って、まず
numsは配列で、彼らの違いが見えます.
int[] array = null; 配列が空です.arrayはオブジェクトを指しません.
int[] array = new array[0]; 長さ0の配列を定義します.
int[] array = new array[2]; 長さ2の配列を定義します.このとき、配列が初期化されていない場合、デフォルトの値はnullです.
一般にnumsが空であるか否かを判断してから、ポインタ異常を報告する可能性があるため、長さが0であるか否かを判断する.
1行のコードで同時に判断する場合は、次のように書きます.
List> results = new ArrayList<>();
if (nums == null) {
return results;
}
if (nums.length == 0) {
results.add(new ArrayList());
return results;
}
numsは配列で、彼らの違いが見えます.
int[] array = null; 配列が空です.arrayはオブジェクトを指しません.
int[] array = new array[0]; 長さ0の配列を定義します.
int[] array = new array[2]; 長さ2の配列を定義します.このとき、配列が初期化されていない場合、デフォルトの値はnullです.
一般にnumsが空であるか否かを判断してから、ポインタ異常を報告する可能性があるため、長さが0であるか否かを判断する.
1行のコードで同時に判断する場合は、次のように書きます.
if(array == null || array.length == 0)
は短絡か、前のが後ろに合っているので考慮しません.