Есть ли какой-нибудь практический способ ссылаться на метод класса типобезопасным способом? Базовый пример: я хочу создать что-то вроде следующей служебной функции:
public Result validateField(Object data, String fieldName,
ValidationOptions options) { ... }
Чтобы вызвать его, мне нужно сделать:
validateField(data, "phoneNumber", options);
Это заставляет меня либо использовать волшебную строку, либо объявлять константу где-нибудь с этой строкой.
Я Я почти уверен, что нет способа обойти это с помощью стандартного языка Java, но существует ли какой-нибудь предварительный компилятор (производственного уровня) или альтернативный компилятор, который может предложить обходной путь? (аналогично тому, как AspectJ расширяет язык Java) Вместо этого было бы неплохо сделать что-то вроде следующего:
public Result validateField(Object data, Method method,
ValidationOptions options) { ... }
И вызовите его с помощью:
validateField(data, Person.phoneNumber.getter, options);
Подробнее здесь: https://stackoverflow.com/questions/200 ... on-in-java