Javaの配列が空と配列長が0の違い

712 ワード

今日問題を解く時にこの問題に出会って、まず
         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)
は短絡か、前のが後ろに合っているので考慮しません.