我有一個映射,它將鍵和值存儲爲字符串數據類型。 我需要編寫一個函數將映射中的某些值從字符串數據類型轉換爲另一種數據類型。使用反射的數據類型轉換函數
例如,有一個密鑰"active"
和值"false"
。我需要將該值轉換爲boolean false
。
對於這一點,我能有這樣的功能:
public static void typeConverter(Map container, String key, Class toType) {
if(container.containsKey(key)) {
if(tyType == Boolean.class)
container.put(key, Boolean.parseBoolean(container.get(key)));
if(tyType == Integer.class)
container.put(key, Integer.parseBoolean(container.get(key)));
...
}
}
不過,我想使用反射,避免如果循環:
public static void typeConverter(Map container, String key, Class toType) {
if(container.containsKey(key))
container.put(key, toType.parse*(container.get(key)));
}
這是可能的任何機會?
我想加入如果我在我的代碼中提供的循環比這種方法更好,因爲在這裏我需要在我的情況下實現接口而不是一行。 – cppcoder