1. 程式人生 > >java中null是什麽,以及使用中要註意的事項

java中null是什麽,以及使用中要註意的事項

拆箱 大小寫 pan 沒有 使用 類型 區別 null lean

1.null既不是對象也不是一種類型,它僅是一種特殊的值,你可以將其賦予任何引用類型,你也可以將null轉化成任何類型,例如:

Integer i=null;
Float f=null;
String s=null;

但是不能把null賦值給基本類型,如int ,float,double等

int k=null ----------編譯器會報錯cannot convert from null to int

2.null是關鍵字,像public、static、final。它是大小寫敏感的,你不能將null寫成Null或NULL,否則編譯器會報錯 3.包含null值的包裝類在Java拆箱生成基本數據類型時候都會拋出一個空指針異常
例如: Integer i=null; int k=i;---------------------------拋出java.lang.NullPointerException 4.在遍歷集合或者數組的時候需要添加null判斷,不然當集合或者數組中包含null時,會拋出異常 5.在使用equals判斷字符串是否相等時,要將常量字符串放在equals的左邊,防止空指針異常 例如:

String[] arr1={"abc","123",null,"sky"};
for (String s1 : arr1) {
boolean flag=s1.equals("sky");
}------------當取值到是=null時,會拋出空指針異常,把s1.equals("sky")改為“sky”.equals(s1),就可以避免拋出異常

6.空字符串與null區別

  類型
null表示的是一個對象的值,而並不是一個字符串。例如聲明一個對象的引用,String a = null ;
""表示的是一個空字符串,也就是說它的長度為0。例如聲明一個字符串String str = "" ;

  內存分配
String str = null ; 表示聲明一個字符串對象的引用,但指向為null,也就是說還沒有指向任何的內存空間;
String str = ""; 表示聲明一個字符串類型的引用,其值為""空字符串,這個str引用指向的是空字符串的內存空間;

在java中變量和引用變量是存在棧中(stack),而對象(new產生的)都是存放在堆中(heap):

java中null是什麽,以及使用中要註意的事項