例如,我有这个使用var-args的方法:
void doSomething(int... args);
我可以有两种不同的用法:
// 1) using an array
int[] data = new int[] {1, 2};
doSomething(data);
// 2) using a sequence of arguments
doSomething(1, 2);
假设方法doSomething()需要确保传递的数组是"不可变的"从外面,它将复制数组。但是,如果调用者已经传递了一系列参数,那么该方法之外没有对该数组的引用,因此我们可以避免数组副本的成本。
是否可以确定在运行时如何调用它?
答案 0 :(得分:3)
没有。据我所知,无法确定调用者调用该方法的方式,只是调用了该方法。