我有一個HashSet,我需要存儲可用的成分。將字符串轉換爲java中的對象
HashSet<Ingredient> availableIngreds = new HashSet<>();
可用配料從文件中讀取。
Scanner file = new Scanner(new File(fileName));
while (file.hasNext()) {
availableIngreds.add(file.next()); //Non working code
}
System.out.println("*** Available ingredients ***");
for (Ingredient i : availableIngreds) {
System.out.println(i);
}
我的問題是,該文件包含字符串(麪粉,糖,牛奶等)的成分。
我的HashSet需要存儲成分作爲對象的成分。
如何將字符串轉換爲成分以便上面的代碼行起作用? 謝謝你的幫助。
*編輯* 類成分:
public class Ingredient {
private String iName;
public Ingredient(String aName) {
iName = aName;
}
public String getName() {
return iName;
}
public String toString() {
return iName;
}
public boolean equals(Object rhs) {
return iName.equals(((Ingredient)rhs).iName);
}
public int hashCode() {
return iName.hashCode();
}
}
如果沒有看到「成分」,我們無法幫助您。簡單的答案是:「Ingredient」本身只需要一種方法來完成工作,或者(如果有層次結構),您需要一個「IngredientFactory」來了解層次結構並可以進行映射。沒有什麼神奇的「做到這一點,它會工作」的解決方案,你只需要做這項工作。 – 2015-04-02 09:53:16
您必須創建新的配料對象並將其字符串或其變量發送給承包商或其他地方,然後將字符串轉換成配料變量。 – 2015-04-02 09:54:33
謝謝您的時間。我現在添加了成分類。 – user2939293 2015-04-02 09:59:05