在下面的代码中,x.test()
返回[1,2]
.
所以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