我想寫一個方法,如果可能的話,它返回一些PrimitiveType類型,如float,integer,boolean和String。我想使用它的泛型,但我堅持,並沒有找到它的解決方案。我確實需要它作爲Configparser。我用它來從配置中獲取不同的值。java泛型T擴展了Simpletype?
當前的IT DES是這樣的,我知道,交換機不喜歡這個工作,但你得到的是什麼ID喜歡做一個想法:
public class ConfigurationManager extends XmlReader {
private final static String FILE_PATH = "config/config.cfg";
private static Element xml;
public ConfigurationManager() throws IOException {
FileHandle handle = Gdx.files.internal(FILE_PATH);
this.xml = this.parse(handle);
}
public Resolution getResolution() {
Resolution r = new Resolution();
r.height = xml.getFloat("height");
r.width = xml.getFloat("width");
return r;
}
public static <T> T getConfig(Class<T> type, String name) {
if (type.equals(Integer.class)) {
return type.cast(xml.getInt(name));
} else if (type.equals(Float.class)) {
return type.cast(xml.getFloat(name));
} else if (type.equals(Boolean.class)) {
return type.cast(xml.getBoolean(name));
} else if (type.equals(String.class)) {
return type.cast(xml.get(name));
}
throw new AssertionError("Invalid type");
}
}
非常感謝
只是澄清...''字符串'類型是引用類型而不是原始類型。而且,原始類型不能用作Java中泛型類型參數的參數。只有引用類型可以作爲參數提供...如果需要,您可以始終使用基本類型的盒裝形式。 – scottb
謝謝我知道,但這就是我想得到的,所以我試圖找到一個可能的解決方案 – BennX