Я пытаюсь выяснить, как динамически вызывать метод. У меня есть строка, которая описывает имя метода, но я не уверен, как это сделать. Я думал, что это можно сделать с отражением, но не получило никакого успеха. Примерjava динамически вызывать методы
set.add(vehicleConfiguration.getVehicleYear.getName());
set.add(vehicleConfiguration.getVehicleMake().getName());
set.add(vehicleConfiguration.getVehicleModel().getName());
Вы заметите, все вызовы методов такие же, за исключением getVehicleYear и т.д.
У меня есть строка, которая описывает имена методов, просто не знаю, как его использовать.
Я дошел до этого с отражением, но не смог.
set.add(Class.forName("VehicleConfiguration").getMethod("vehicleMake", null).getName());
Заранее спасибо.
Каких типов возвращаемых 'getVehicleModel()', 'getVehicleMake()' и 'getVehicleYear()'? Если у всех их есть метод getName() ', похоже, что дженерики будут намного лучшим решением вашей проблемы, чем отражением. Или даже просто блок 'if' /' else'. Отражение переполняется в 99% случаев. – MrLore
@MrLore, я открыт для идей, пожалуйста, покажите пример ниже, используя общий. Я предпочел бы держаться подальше от if/else, если это возможно. Спасибо –