我想編寫代碼,如下所示。如何在創建對象時處理註釋並設置默認值
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()
有沒有人知道我們如何在下面的編譯時將它分成兩部分?
MyClass a = new MyClass();
a.setValue(20);
或者如果我們能夠像下面那樣通過defauilt值也很好。
MyClass a = new @MyAnnotation(value=20) MyClass()
可以這樣使用註解處理器來實現/需要使用字節碼處理器一樣把它做ASM? 用更有意義的方式更新。
爲什麼不創建構造函數?你的'setValue(a)'也返回'Test'類型,但是在本體中,你返回了'this'? – Kent 2014-09-04 10:23:13
將其更改爲MyClass,這是錯字。 – Mahesh 2014-09-04 11:51:46
它沒有任何意義,它是一個實例方法,並返回相同的實例... – Kent 2014-09-04 11:53:14