赞
踩
看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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。