我正在尋找一種在Java(版本8)中執行的好方法什麼等效於Groovy的with
方法在Object
上。Groovy的對象與(閉合)方法的Java等效
說我有一個類(在Java中完成的,所以我可以在每個使用):
class MyClass {
private String someVar;
public void setSomeVar(String newVal) {
this.someVar = newVal;
}
public String getSomeVar() {
return this.someVar;
}
}
在Groovy,然後我可以:
def mc = new MyClass().with {
setSomeVar('Hello World!') // Yes, I'm using an explicit setter for clearer comparison
it // return the instance
}
在Java不過,最近我可以想到的是使用雙括號初始值設定項:
MyClass mc = new MyClass(){{
setSomeVar("Hello World!");
}};
但是some advise against using the double brace initializer。事實上,這個揮之不去的參考文獻確實引起了我的警惕。
那麼,有沒有其他的選擇?
btw,在groovy中初始化它更容易使用'new MyClass(someVar:'Hello World!')' –
確實,這是一個專注於Java的人爲的例子。 –
我明白了。如果你真的在groovy中使用這樣的代碼 –