JAVA中的null


NPE問題一直都是程序員都會經歷的,今天簡單總結一下

  1. Java中的任何引用變量都將null作爲默認值,基本數據類型不是(byte,short,int 爲0;long 爲0L;float爲0.0f ;double 爲0.0d ; char 爲 ‘\u0000’ ;boolean 爲false)
  2. null既不是對象也不是一種類型,它僅是一種特殊的值,可以把它付給任何引用類型
  3. 如果使用了帶有null值的引用類型變量,instanceof操作將會返回false
System.out.println(nullInteger instanceof Integer);//fasle
       4.你可以使用==或者!=操作來比較null值,但是不能使用其他算法或者邏輯操作,例如小於或者大於。跟SQL不一樣,在Java中null==null將返回true
    
System.out.println(null == null);//true

        5.null是Java中的關鍵字 大小寫敏感
        6.null可以賦值給引用變量,你不能將null賦給基本類型變量
Integer nullInteger = null
      
        下面寫兩個會報空指針的例子:

Integer nullInteger = null;
		int data = nullInteger; 
		System.out.println(data);
上面這個例子就是第6點的錯誤,包裝類在拆箱的時候將null賦值給基本類型變量時候出現NPE
		Map map = new HashMap<>();
	        int[] numbers = {1,2,3,4,5,6,7};
	 
	        for(int i : numbers){ 
	    	   int f =i;
	           int count = (int) map.get(i);
	           map.put(i, count++); // NullPointerException here
	        } 
以上也是將null 賦值給基本類型變量產生NPE


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章