java中null+““和null+null会等于什么鬼呢?

在java中,null+""会等于什么鬼?

null+""=?

null+null又会等于什么鬼呢?

null+null=?

直接上代码和截图。

注意:看如下代码,看看null+null等于什么

System.out.println(null + null);//报错,连编译都通不过
		
		String n = null;
		String m = null;
		System.out.println(n + m);//nullnull

以下代码,大家也可以亲自去测试一下,大家自己多动手去写,印象会更深刻。

public static void main(String[] args) {
    	//null只能赋值给引用数据类型的变量,不能赋值给基本数据类型的变量
//下面一行代码语法报错,连编译都通不过,因为得益于Eclipse的强大,Eclipse会帮助我们智能的检查语法    	
//    	int a = null; 
    	Integer b = null;
//下面一行代码欺骗过了Eclipse的语法检查,变相的把null赋值给了基本数据类型的变量
//int c = b;//报错NullPointerException(是在程序运行时报的错,但是编译可以通过,即编译时不会报错,运行时才会报错)
    	System.out.println(b); //null
//    	System.out.println(c);
    	
    	Integer d = new Integer(97);
    	
		String str1 = null;
		System.out.println(str1);//null
		System.out.println(str1 + "");//null
		String str2 = null;
		System.out.println((str2 + "").length());//4
		String str3 = null;
		System.out.println(str3 + 567);//null567
		String str4 = null;
		System.out.println((str4 + 567).length());//7
		String str5 = null;
		String str6 = null;
		System.out.println(str5 == null);//true
		System.out.println(str6 == null);//true
		String str7 = str5 + str6;
		System.out.println(str7);//nullnull
		System.out.println(str7 == null);//false
		System.out.println(str7.length());//8
		String str8 = null;
		System.out.println(str8 + 666);//null666
		System.out.println(str8 + 999.88);//null999.88
		System.out.println(str8 + b);//nullnull
		System.out.println(str8 + true);//nulltrue
		System.out.println(str8 + false);//nullfalse
		System.out.println(str8 + d);//null97
		System.out.println(str8 + 'a');//nulla
		System.out.println("**************");
		String s1 = null;
		System.out.println("".equals(s1));//false
		//报错java.lang.NullPointerException
//		System.out.println(s1.equals(""));
		System.out.println("**************");
		String s2 = null;
		System.out.println("null".equals(s2));//false
		System.out.println("".equals(s2));//false
		System.out.println("null".equals((String)s2));//false
		System.out.println(((String)s2) == null);//true
		System.out.println(s2 == null);//true
		System.out.println("**************");
		String s3 = "";
		String s4 = "null";
		System.out.println(s3.equals(null));//false
		System.out.println(s3.equals((String)null));//false
		System.out.println(s4.equals(null));//false
		System.out.println(s4.equals((String)null));//false
		System.out.println("".equals(null));//false
		System.out.println("".equals((String)null));//false
		String str9 = "江西省赣州市于都县";
		System.out.println(str9 + 6666);//江西省赣州市于都县6666
		System.out.println("==============");
		String s5 = null;
		String s6 = null;
		System.out.println(s5 == s6);//true
		System.out.println(((String)s5) == ((String)s6));//true
		System.out.println("##################");
//		System.out.println(null); //语法报错
		System.out.println((String)null);//null
//下面一行代码会报异常,java.lang.NullPointerException
		System.out.println(((String)null).length());
	}

运行结果如下:

猜你喜欢

转载自blog.csdn.net/czh500/article/details/114504663