2013-11-04 39 views
2

我想寫它創建了一個集循環對象的程序....如何將字符串轉換爲新對象的名稱?

(IE)

String newFirm = "empty"; 

for(int i=0; i<30; i++) 
    { 
      newFirm = "firm" + i; 
      firm newFirm = new firm(); 
    } 

,然後我當然會需要像

stringToObject = "firm" + x; 
stringToObject.type = "service"; 
stringToObject.size = 10000; 

顯然這個代碼是虛構的,但它表達了我如何理想地創建和調用對象。該計劃的性質使得在編制時不知道公司(或其他對象)的最終數量。

是否有一種方法可以將給定的字符串轉換爲對象的名稱(調用或創建)以及「即時創建」對象?

+0

你談論的對象或類? – BevynQ

+0

您正在尋找藏品。 – SLaks

+0

@bevynQ類的對象 –

回答

1

聽起來像ArrayList的作業。

ArrayList<Firm> myList = new ArrayList<Firm>(); 

而在你的循環,

Firm firm = new Firm(); 
firm.type = "service"; 
myList.add(firm); 

而要得到它,

Firm f = myList.get(index); 
+0

完美!謝謝!給任何有相同問題的人[這裏有一個關於ArrayList的更多信息的鏈接,幫助我。](http://www.youtube.com/watch?v=S8NMfy90sP4) –

1

一個給定的字符串轉換爲對象

的姓名您需要引用一個與你的手中的字符串對象。我會建議Hashmap<String,Object>

如: - 你有一個字符串,

String name="object_name"; 

而且你的類是Firm。現在,

Hashmap<String,Firm> objs=new Hashmap<String,Firm>();// note:your for loop comes after this line 
Firm new_firm=new Firm(); 
new_firm.type = "service"; 
new_firm.size = 10000; 
objs.put(name,new_firm); 

現在你可以用字符串是指你的對象在你的手

objs.get("object_name");