所以我在前一天有一個關於如何在不創建單獨實例的情況下訪問具有兩個不同其他類的相同數據類的問題。有人建議使用單身,所以我做了一些研究,但沒有太多關於它的內容。Singleton類的調用給主類提供了空指針異常
我遇到的問題是,當我嘗試訪問數據單例時,我的主類獲得空指針異常。但是我的其他班級可以訪問它並獲取數據。這究竟有多可能?我有一個非常基本的設置...
單
public enum laneData {
INSTANCE;
private String laneID;
public String getLaneID() {
return laneID;
}
public void setLaneID(String laneID) {
this.laneID = laneID;
}
}
主級呼叫
private laneData laneData;
public void init() {
laneData.setLaneID("test"); //these two lines each throw null pointer unless commented out
System.out.println(laneData.getLaneID());
....
其他類
public class XMLParser {
private LaneGUI laneGUI;
private laneData laneData;
public void parseInputString(String input){
laneData.setLaneID(getCharacterDataFromElement(line)); //both of these work fine
System.out.println("stored ID: " + laneData.getLaneID());
它已經有一段時間,因爲我用的Java。現在通常使用'enum'在Java中實現一個Singleton模式嗎?它聞起來像我改裝一個它最初不是爲了設計的構造。 – Santa 2011-06-15 18:55:18
這是建議的方式現在@聖誕老人 – Marcelo 2011-06-15 19:06:30