Есть ли способ в Java (Android) связать строку и функцию? Моя цель - запустить определенную функцию в зависимости от того, какая строка получена из отдельного метода.Связывание строки с функцией
ie, если myString == "building", то выполните buildmethod();
Я думал об использовании HashMap, как так:
HashMap<String,Runnable> hashDBTableUpdateRef = new HashMap<>();
hashDBTableUpdateRef.put("house",this.housemethod());
hashDBTableUpdateRef.put("shed",this.shedmethod());
hashDBTableUpdateRef.put("barn",this.barnmethod());
затем
String myString = getCalculatedString();
for (String s : hashDBTableUpdateRef) {
hashDBTableUpdateRed.get(s).run();
}
Я не могу сделать обобщенный метод с параметром, например, function anyBuilding(String buildingType)
в результате следующих действий и пользовательские перечисления. Есть предположения? Есть runnable
путь вперед?
например:
function housemethod() {
myHouseObject.runSomething();
}
function shedmethod() {
myShedObject.runSomething();
}
function barnmethod() {
myBarnObject.runSomething();
}
Спасибо,
Я чувствую запах дизайна здесь –
Вы вполне можете быть правы – Jammo
Пожалуйста, укажите больше контекста, например. откуда эта строка? – Thomas