नीचे दिए गए कोड में, 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