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)文章希望大家以后多多支持腳本之家!
- 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)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot快速搭建TCP服務(wù)端和客戶端全過程
這篇文章主要介紹了SpringBoot快速搭建TCP服務(wù)端和客戶端全過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05
解決Spring boot 嵌入的tomcat不啟動(dòng)問題
這篇文章主要介紹了解決Spring boot 嵌入的tomcat不啟動(dòng)問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
詳解Spring Boot 部署jar和war的區(qū)別
本篇文章主要介紹了詳解Spring Boot 部署jar和war的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
JAVA中JSONObject對象和Map對象之間的相互轉(zhuǎn)換
這篇文章主要介紹了JAVA中JSONObject對象和Map對象之間的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
SpringBoot+MinIO實(shí)現(xiàn)對象存儲的示例詳解
MinIO?是一個(gè)基于Apache?License?v2.0開源協(xié)議的對象存儲服務(wù),它是一個(gè)非常輕量的服務(wù),可以很簡單的和其他應(yīng)用的結(jié)合,所以下面我們就來看看SpringBoot如何整合MinIO實(shí)現(xiàn)對象存儲吧2023-10-10
Spring線程池ThreadPoolExecutor配置并且得到任務(wù)執(zhí)行的結(jié)果
今天小編就為大家分享一篇關(guān)于Spring線程池ThreadPoolExecutor配置并且得到任務(wù)執(zhí)行的結(jié)果,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03

