Карта, как предложено в комментариях, может быть вашим лучшим выбором, так как в этом случае отражение может быть не лучшей практикой.
Чтобы иметь возможность звонить из любого места в вашей программе, вам нужно что-то вроде Singleton шаблона, который должен быть обработан с осторожностью:
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
Карта строк для классов? –