淺談java中null是什么,以及使用中要注意的事項
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區(qū)別
類型
null表示的是一個對象的值,而并不是一個字符串。例如聲明一個對象的引用,String a = null ;
""表示的是一個空字符串,也就是說它的長度為0。例如聲明一個字符串String str = "" ;
內存分配
String str = null ; 表示聲明一個字符串對象的引用,但指向為null,也就是說還沒有指向任何的內存空間;
String str = ""; 表示聲明一個字符串類型的引用,其值為""空字符串,這個str引用指向的是空字符串的內存空間;
在java中變量和引用變量是存在棧中(stack),而對象(new產生的)都是存放在堆中(heap):
以上這篇淺談java中null是什么,以及使用中要注意的事項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
實戰(zhàn)干貨之基于SpringBoot的RabbitMQ多種模式隊列
RabbitMQ 是一個由Erlang語言開發(fā)的AMQP的開源實現,支持多種客戶端。用于在分布式系統(tǒng)中存儲轉發(fā)消息,在易用性、擴展性、高可用性等方面表現不俗,下文將帶你深入了解 RabbitMQ 多種模式隊列2021-09-09
Spring?Boot?中的?Native?SQL基本概念及使用方法
在本文中,我們介紹了 Spring Boot 中的 Native SQL,以及如何使用 JdbcTemplate 和 NamedParameterJdbcTemplate 來執(zhí)行自定義的 SQL 查詢或更新語句,需要的朋友跟隨小編一起看看吧2023-07-07
Java String方法獲取字符出現次數及字符最大相同部分示例
這篇文章主要介紹了Java String方法獲取字符出現次數及字符最大相同部分,涉及java字符串的遍歷、比較、計算等相關操作技巧,需要的朋友可以參考下2017-09-09
IntelliJ IDEA Run時報“無效的源發(fā)行版:16“錯誤問題及解決方法
這篇文章主要介紹了IntelliJ IDEA Run時報“無效的源發(fā)行版:16“錯誤問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05

