以下のようなコードを書きたかったのです。
MyClass a = new @MyAnnotation MyClass()
MyClass メソッドが以下のようになっていると仮定します
public class MyClass {
int a;
public void setValue(int a) {
this.a = a;
}
}
そのため、アノテーションを使用して MyClass のオブジェクトを作成する場合、デフォルト値を x (たとえば 20) に設定する必要があります。
チェッカー フレームワークでは、以下のようにコードに注釈を付けることができます。
MyClass a = new @MyAnnotation MyClass()
以下のように、コンパイル時にこれを2つの部分に分割する方法を知っている人はいますか?
MyClass a = new MyClass();
a.setValue(20);
または、以下のようなデフォルト値を渡すことができれば問題ありません。
MyClass a = new @MyAnnotation(value=20) MyClass()
これは注釈プロセッサを使用して実現できますか? ASM のようなバイトコード プロセッサを使用して実行する必要がありますか? より意味のある方法で更新されました。