亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

類變量上的空指針異常

類變量上的空指針異常

手掌心 2021-08-19 18:49:28
我有一個奇怪的錯誤,我使用了一個我創建的變量,但隨后我產生了一個空指針異常錯誤。這是我的代碼:public class ReadXMLFile {// Initialize loggerprivate static Logger log = Logger.getLogger(ReadXMLFile.class);public Document getXMLDocument() {    Document doc = null;    File configXmlFile = new File("");    try {                   DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory                .newInstance();        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();        System.out.println(LanguageHandler.source); //null        configXmlFile = LanguageHandler.source;        System.out.println(LanguageHandler.source); //null        System.out.println("conf : " + configXmlFile.isFile()); //Null pointer exception        doc = docBuilder.parse(configXmlFile);      } catch (Exception e) {        e.printStackTrace();        log.error(e.getMessage(), e);    }    return doc;}}這是錯誤:java.lang.NullPointerExceptionat in.raster.oviyam.util.ReadXMLFile.getXMLDocument(ReadXMLFile.java:85)at in.raster.oviyam.util.ReadXMLFile.getElementValues(ReadXMLFile.java:99)at in.raster.oviyam.servlet.DicomNodes.doGet(DicomNodes.java:90)at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)ReadXMLFile 類的第 85 行是我的 System.out.println("conf : " + configXmlFile.isFile());我不明白為什么我會遇到這個錯誤,它應該只返回 false。在此先感謝您的幫助?。?
查看完整描述

3 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

您正在一個對象上調用對象方法 isFile(),即為 null。

你分配

configXmlFile = LanguageHandler.source;

在上一行你看到,輸出

System.out.println(LanguageHandler.source);

一片空白。因此,configXmlFile 也為空,因為您已將其分配給 LanguageHandler.source 的引用。因此 configXmlFile.isFile() 會導致 NullPointerException。


查看完整回答
反對 回復 2021-08-19
?
DIEA

TA貢獻1820條經驗 獲得超3個贊

您不能對 NULL 值調用方法。

你設置

File configXmlFile = new File("");

然后重新賦值

configXmlFile = LanguageHandler.source;

你已經確認它LanguageHandler.source是空的,所以configXmlFile現在也是空的。

如果您期望一個有效的對象,請繼續在 中搜索問題LanguageHandler.source


查看完整回答
反對 回復 2021-08-19
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

根據您的代碼和注釋System.out.println(LanguageHandler.source); //null,這意味著LanguageHandler.source實際上是null. 當你再分配這個值時,configXmlFile = LanguageHandler.source;你的屬性configXmlFile也有null值。當你在null引用上調用方法時,你會得到 NPE。因此,您需要檢查代碼以正確初始化LanguageHandler.source變量。

查看完整回答
反對 回復 2021-08-19
  • 3 回答
  • 0 關注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號