2013-12-21 99 views
1

我正在學習LibGDX引擎並行重新學習java,並且寫了一個簡單的日誌記錄類,它有一個帶有字符串參數的方法被傳遞給Gdx.app.log()。雖然這不是必需的,但我這樣做是爲了練習導入和使用自定義方法和類,以及減少將消息發送到控制檯所需的行的長度。該方法看起來像這樣:Java + Libgdx:Gdx.app.log()空指針錯誤

import com.badlogic.gdx.Gdx; 

public class logging { 
    public static final String tag="Console"; 
    //contains method for logging to the console during testing. 
    public void log(String message){ 
    Gdx.app.log(tag, message); 
    } 
} 

然後在我使用它的類中,它被正確導入,並創建一個公共日誌記錄'con'。到目前爲止,一切似乎都很好,因爲當我輸入con時。在eclipse中,我將日誌(消息)作爲自動完成選項獲得,但實際上在show()方法下在屏幕上調用它時。當程序試圖通過這一點時,我得到一個java.lang.NullPointerException這是因爲一切都寫得很好,讓我很困惑。作爲它的使用的一個例子:

con.log("this is a test"); 

是確切的用法我嘗試在運行時在eclipse中看起來很好。有沒有一些簡單的想法,我沒有抓住這裏?或者一個怪癖到Gdx.app.log()?請不要回答「只需使用Gdx.app.log();需要寫入日誌的地方」,因爲這不是我練習的重點。提前感謝您的幫助!

+1

你能不能請張貼在那裏你用你的自定義日誌類 – user2720864

回答

4

如果您收到了這一行業的NullPointerException異常:

con.log("this is a test"); 

唯一可以爲空是騙子。你可能在定義它,但實際上並沒有創建它。

Logging con; 

,而不是

Logging con = new Logging(); 
+0

這正是案件的代碼。不敢相信我從一開始就錯過了!謝謝你的糾正。 – TypingTurtle

+0

如果這是答案,你能接受它:)謝謝 – Lestat