java null==null是否成立

 看Arrys.equals()源码的时候,第一行是判断两个参数是否==,突然很好奇,如果==号两边都是null这种写法是否可行,可行的话结果是true还是false?

public static boolean equals(int[] a, int[] a2) {
    if (a==a2)
        return true;
    if (a==null || a2==null)
        return false;

    int length = a.length;
    if (a2.length != length)
        return false;

    for (int i=0; i<length; i++)
        if (a[i] != a2[i])
            return false;

    return true;
}

二话不说,写一行代码验证下

public class Test {
    public static void main(String[] args) {
        if(null == null) {
            System.out.println("null等于null");
        } else {
            System.out.println("null不等于null");
        }
    }
}

 结果如下,所以null==null这种写法不会报错的(虽然没意义),而且结果为true

null等于null

 

posted @ 2019-09-06 16:00  野猿新一  阅读(150)  评论(0编辑  收藏  举报