在下面的代碼中,x.test()
返回[1,2]
。Groovy:參數相同,結果不同
因此y = [1,2]
。
然而f([1,2])
打印1
,但f(y)
打印2
。
我該如何寫f(y)
以便打印1
?
相反,f(z)
打印1
,即使z = y
。
def f = { Object... args -> println args.size(); };
class Test { Object[] test() { return [1,2]; } }
def x = new Test();
def y = x.test();
def z = [1,2];
f([1,2]); // 1
f(y); // 2
f(z); // 1