Типобезопасное отражение метода в JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Типобезопасное отражение метода в Java

Сообщение Anonymous »

Есть ли какой-нибудь практический способ ссылаться на метод класса типобезопасным способом? Базовый пример: я хочу создать что-то вроде следующей служебной функции:

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

Вернуться в «JAVA»