Типобезопасное отражение метода в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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