java中null是什麽,以及使用中要註意的事項
阿新 • • 發佈:2017-09-16
拆箱 大小寫 pan 沒有 使用 類型 區別 null lean
例如:
Integer i=null;
int k=i;---------------------------拋出java.lang.NullPointerException
4.在遍歷集合或者數組的時候需要添加null判斷,不然當集合或者數組中包含null時,會拋出異常
5.在使用equals判斷字符串是否相等時,要將常量字符串放在equals的左邊,防止空指針異常
例如:
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拆箱生成基本數據類型時候都會拋出一個空指針異常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是什麽,以及使用中要註意的事項