評論中提出的地圖可能是您最好的選擇,因爲在這種情況下,反射可能不是最佳做法。
爲了能夠在你的程序的任何地方調用它,你需要的東西像辛格爾頓模式,該模式需要謹慎處理:
public class ClassNameHandler {
private static ClassNameHandler instance = null;
protected ClassNameHandler() {
// Exists only to defeat instantiation.
}
public Map<String, File> map = new HashMap<String, File>();
public File f = ClassName.f;
map.put("ClassName.f", f);
//Add more files or variables to the map
public static ClassNameHandler getInstance() {
if(instance == null) {
instance = new ClassNameHandler();
}
return instance;
}
}
然後,在其他地方,你可以使用例如:
String str = "ClassName.f";
ClassNameHandler.map.get(str);
仔細檢查單例模式的實現。如果聽起來太多了,那麼可能有其他選項可用,但是您沒有提供太多的上下文或應用程序的目的,所以這取決於它。
您正在尋找反射。但是,您應該使用地圖代替。 – SLaks
你會如何使用它? – user6615347
字符串到類的映射? –