java.lang.NullPointerException異常問題解決方案
java.lang.NullPointerException異常原因是因?yàn)?strong>創(chuàng)建了一個(gè)引用類型的變量卻沒有指向任何對象而又去通過這個(gè)引用類型變量加點(diǎn)的形式去訪問非靜態(tài)的方法及屬性。
給出三種情況,
第一種情況,在啟動(dòng)類中定義了引用類型變量,賦值為空:
/** * 引用類型變量沒有指向?qū)ο笏鸬目罩羔槷惓? * @author Superhero * @version 2018年12月16日上午10:32:43 */ //圖書類 class Books { private String name; private String author; private double price; public Books() { } public Books(String name, String author, double price) { this.name = name; this.author = author; this.price = price; } public String getName() { return name; } public String getAuthor() { return author; } public double getPrice() { return price; } }
//啟動(dòng)類 public class NullPointerExceptionTest1 { public static void main(String[] args) { Books book=null; //下面一行代碼會(huì)報(bào)指針異常錯(cuò)誤: System.out.println("name:"+book.getName()+", author:"+book.getAuthor()+", price:"+book.getPrice()); } }
第二種情況:創(chuàng)建了一個(gè)引用類型的數(shù)組,卻沒有給數(shù)組元素指向?qū)ο蠖{(diào)用了。
public class NullPointerExceptionTest2 { public static void main(String[] args) { Books[] books = new Books[3]; books[0] = new Books("NullPointerException","Superhero",88.8); //books[1],book[2]沒有指向?qū)ο?,所以也?bào)空指針異常 for(Books book : books) System.out.println("name:"+book.getName()+", author:"+book.getAuthor()+", price:"+book.getPrice()); } }
第三種情況是在類中定義了引用類型屬性,卻沒有指向?qū)ο蠖{(diào)用了非靜態(tài)的方法或?qū)傩?,和第一種情況類似,這里就不給代碼了。
到此這篇關(guān)于java.lang.NullPointerException異常問題解決方案的文章就介紹到這了,更多相關(guān)java.lang.NullPointerException異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Java中socket使用getInputStream()阻塞問題
這篇文章主要介紹了解決Java中socket使用getInputStream()阻塞問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12SpringBoot整合freemarker實(shí)現(xiàn)代碼生成器
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何整合freemarker實(shí)現(xiàn)一個(gè)簡單的代碼生成器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-03-03spring Boot查詢數(shù)據(jù)分頁顯示的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于spring Boot查詢數(shù)據(jù)分頁顯示的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java ArrayDeque實(shí)現(xiàn)Stack的功能
這篇文章主要介紹了Java ArrayDeque實(shí)現(xiàn)Stack功能的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03SpringBoot+RabbitMQ實(shí)現(xiàn)消息可靠傳輸詳解
消息的可靠傳輸是面試必問的問題之一,保證消息的可靠傳輸主要在生產(chǎn)端開啟?comfirm?模式,RabbitMQ?開啟持久化,消費(fèi)端關(guān)閉自動(dòng)?ack?模式。本文將詳解SpringBoot整合RabbitMQ如何實(shí)現(xiàn)消息可靠傳輸,需要的可以參考一下2022-05-05spring boot validation參數(shù)校驗(yàn)實(shí)例分析
這篇文章主要介紹了spring boot validation參數(shù)校驗(yàn),結(jié)合實(shí)例形式分析了spring boot validation進(jìn)行數(shù)據(jù)有效性驗(yàn)證的相關(guān)操作技巧,需要的朋友可以參考下2019-11-11