在斯卡拉 - 我們can do擴展方法是這樣的: object MyExtensions {
implicit class RichInt(val i: Int) extends AnyVal {
def square = i * i
}
}
我們可以用這樣的: import MyExtensions._
Int i = 2;
Val squared = i
比方說,我有一個類: class A {
public A fun() {
System.out.println("a");
return this;
}
}
而且一個場景: A a = new A();
a.fun().fun().fun().fun();
a.fun().fun();
是它在某種程度上可以打印在每個測序呼叫的第一個呼叫附
我試圖用流利的接口來構建一個集合,類似這樣(簡體)例如: var a = StartWith(1).Add(2).Add(3).Add(4).ToArray();
/* a = int[] {1,2,3,4}; */
我能想出add添加(最好的解決方案)爲: IEnumerable<T> Add<T>(this IEnumerable<T> coll, T item)
{