首页 > 解决方案 > 无法在 Java 中检查 null

问题描述

我写了这段代码,但我不明白为什么我不能检查数组中的空值。

public static int[] maxArr(int[] a, int[] b) {
    int[] newArray = new int[Math.max(a.length, b.length)];
    int min = Math.min(a.length, b.length);
        for (int i = 0; i < min; i++) {
            if (a[i] >= b[i]) {
                newArray[i]=a[i];
            } else {
                newArray[i]=b[i];
            }
        }




        for (int j = min; j < newArray.length; j++) {
            if (b[min] == null) {
                newArray[j] = a[j];
            }
            else {
                newArray[j] = b[j];
            }
        }

        return newArray;
        }

这是错误:

error: bad operand types for binary operator '=='
            if (b[min] == null) {
                       ^
first type:  int
second type: <null>
1 error

我是编程新手,所以提前谢谢

标签: java

解决方案


你有原始类型的数组int。原语永远不会null有价值。默认情况下int,变量将0被赋值。您可能需要切换到包装类Integer才能null用于检查未初始化的值。


推荐阅读