Я хотел написать код, который выглядит ниже.Как обработать аннотацию и установить значение по умолчанию при создании объекта
MyClass a = new @MyAnnotation MyClass()
Пусть метод MyClass выглядеть ниже
public class MyClass {
int a;
public void setValue(int a) {
this.a = a;
}
}
Так что, когда кто-нибудь Creats объект MyClass с аннотацией, он должен установить значение по умолчанию для некоторых х (скажем 20).
В фреймворке он позволяет нам комментировать в коде, как показано ниже.
MyClass a = new @MyAnnotation MyClass()
Кто-нибудь знает, как мы можем разделить это на две части во время компиляции, как показано ниже?
MyClass a = new MyClass();
a.setValue(20);
или если мы сможем пройти дефолтное значение, как показано ниже, также прекрасно.
MyClass a = new @MyAnnotation(value=20) MyClass()
Может ли это быть достигнуто с помощью процессора аннотаций/необходимо использовать процессор байт-кода, такой как ASM, чтобы сделать это? Обновлен более значимым образом.
Почему бы не создать конструктор? также ваш 'setValue (a)' возвращает тип 'Test', но в теле вы вернули' this'? – Kent
Изменен для MyClass, это была опечатка. – Mahesh
это не имеет смысла, это метод экземпляра и возвращает тот же экземпляр ... – Kent