我想写一个方法,如果可能的话,它会返回一些 PrimitiveType 的东西,比如 float、integer、boolean 和 String。我想为它使用泛型,但我卡住了,没有找到解决方案。我确实需要它作为 Configparser。我将使用它从 Config 中获取不同的值。
目前它看起来像这样,我知道开关不是这样工作的,但你知道 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");
}
}
非常感谢