在啓動時,我正在讀取.xml文件,並希望在運行時將數據存儲在對象中。編寫自己的包裝類,允許Ints,浮動和字符串
事情是,我不想手動指定每個字段,但使用地圖來存儲不同的值。但
,而不是使用「字符串」或.XML類像「節點」或什麼之類,我想我的地圖是類型:
地圖[StringKey,包裝]其中,包裝可以容納或者一個Int,一個浮點數或一個字符串。
現在像
class Wrapper(val: AnyVal)
{
def this(val: String) = this(val)
def this(val: Int) = this(val)
def this(val: Float) = this(val)
}
是不是我真正想要的東西。我想100%肯定它是String,Int或Float。
我可以寫一個空構造函數和setter方法,但這很難看。
另一種選擇是將一切都轉換爲字符串 - >不是我想要的。
每當我從Map中檢索/獲取值時,我都希望它手動轉換爲它的類型。一樣,如果它是一個Int有,是這樣的:
val size = cache.get("size").actualType
應自動是int(也就是說,如果使用鍵「大小」的包裝舉行智力)。
有什麼準備使用,或者我可以巧妙地使用枚舉的任務?
也許有更好的解決辦法,就像我不習慣一些FP-概念(雖然這似乎是OOP的域)
你最後一個問題是絕對正確的......我想,我應該把每個值都存儲爲String,並根據需要進行轉換,因爲事先沒有提供信息,自動轉換並不會真正有用。 – Sorona