2015-11-06 18 views
1

我想實例化一個String對象,我從文件中讀取,然後將該對象的值設置爲自定義類(Room)的對象。有關我如何做到這一點的任何建議?如何設置字符串值從文件到自定義類變量?

這是我到目前爲止有:

String roomName = scanner.hasNext() ? scanner.next() : ""; 
//scanning the name of the room from file 
    if(room == "room"){ 
    Room roomName = new Room(roomName); 
    } 

所以基本上,我試圖設置,我從文件中讀取ROOMNAME字符串,然後設置相同的值房的名義目的。

編輯:我正在嘗試閱讀的文件將具有「門」值或「房間」值,這就是爲什麼我檢查該值是否爲「房間」的原因。

的房類實例化,像這樣:

Room room0 = new Room(0); 

我讀的樣本文件是這樣的:

room 0 wall wall wall 
door d0 0 1 close 
+0

上述代碼有什麼問題? –

+1

你的if語句試圖檢查什麼? (除了這不是你如何比較java中的字符串) – azurefrog

+0

對不起,但是你面臨的問題是什麼?你想達到什麼目的?說實話你的問題提醒[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Pshemo

回答

2

你的邏輯:

String roomName = scanner.hasNext() ? scanner.next() : ""; 
Room room = null; 

if(roomName.equals("room")) { 
    room = new Room(roomName); 
} 

通過我的邏輯(無需檢查):

Room room = new Room(scanner.hasNext() ? scanner.next() : "); 

編輯:

List<Room> rooms = new ArrayList<>(); 
... 
if (roomName.equals("room")) { 
    rooms.add(new Room(rooms.size())); // rooms.get(0) = room with number 0 
} 
1

這是不可能在Java中。您不能使用變量值(roomName的值)作爲另一個變量名稱。

+0

「不可能」可能太強大的話。取決於OP試圖實現的「Map 」可能是相當不錯的解決方案。 – Pshemo

相關問題