java.lang.NullPointerException異常問題解決方案
java.lang.NullPointerException異常原因是因?yàn)?strong>創(chuàng)建了一個引用類型的變量卻沒有指向任何對象而又去通過這個引用類型變量加點(diǎn)的形式去訪問非靜態(tài)的方法及屬性。
給出三種情況,
第一種情況,在啟動類中定義了引用類型變量,賦值為空:
/** * 引用類型變量沒有指向?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; } }
//啟動類 public class NullPointerExceptionTest1 { public static void main(String[] args) { Books book=null; //下面一行代碼會報(bào)指針異常錯誤: System.out.println("name:"+book.getName()+", author:"+book.getAuthor()+", price:"+book.getPrice()); } }
第二種情況:創(chuàng)建了一個引用類型的數(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)文章希望大家以后多多支持腳本之家!
- java.lang.ExceptionInInitializerError異常的解決方法
- 文件路徑正確,報(bào)java.io.FileNotFoundException異常的原因及解決辦法
- Java中java.lang.ClassCastException異常原因及解決方法
- 解決java.util.NoSuchElementException異常的問題
- Java 異常java.lang.NoSuchFieldException解決方案
- Java類加載異常:java.lang.ClassNotFoundException解決方法
- 詳解Java中NullPointerException異常的原因詳解以及解決方法
- java.nio.file.InvalidPathException異常解決
相關(guān)文章
使用JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式
這篇文章主要介紹了依靠JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08SpringBoot快速搭建TCP服務(wù)端和客戶端全過程
這篇文章主要介紹了SpringBoot快速搭建TCP服務(wù)端和客戶端全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05詳解Spring Boot 部署jar和war的區(qū)別
本篇文章主要介紹了詳解Spring Boot 部署jar和war的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09JAVA中JSONObject對象和Map對象之間的相互轉(zhuǎn)換
這篇文章主要介紹了JAVA中JSONObject對象和Map對象之間的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01SpringBoot+MinIO實(shí)現(xiàn)對象存儲的示例詳解
MinIO?是一個基于Apache?License?v2.0開源協(xié)議的對象存儲服務(wù),它是一個非常輕量的服務(wù),可以很簡單的和其他應(yīng)用的結(jié)合,所以下面我們就來看看SpringBoot如何整合MinIO實(shí)現(xiàn)對象存儲吧2023-10-10Spring線程池ThreadPoolExecutor配置并且得到任務(wù)執(zhí)行的結(jié)果
今天小編就為大家分享一篇關(guān)于Spring線程池ThreadPoolExecutor配置并且得到任務(wù)執(zhí)行的結(jié)果,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03