Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于java var args,是否可以确定传递给方法的数组是否是从var args创建的?_Java_Arrays_Variadic Functions - Fatal编程技术网

对于java var args,是否可以确定传递给方法的数组是否是从var args创建的?

对于java var args,是否可以确定传递给方法的数组是否是从var args创建的?,java,arrays,variadic-functions,Java,Arrays,Variadic Functions,例如,我有一个使用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()方法需要确保传递的数组从外部“不可变”,它将复制该数组。但是,如果调用方传递了一

例如,我有一个使用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()方法需要确保传递的数组从外部“不可变”,它将复制该数组。但是,如果调用方传递了一系列参数,那么在方法之外就没有对数组的引用,因此我们可以避免数组副本的开销


是否可以确定在运行时如何调用该方法?

否。据我所知,无法确定调用方调用该方法的方式,只能确定调用了该方法。

否。据我所知,无法确定调用方调用该方法的方式,只是调用了该方法。

否。据我所知,无法确定调用方调用该方法的方式,只能确定调用了该方法。

否。据我所知,无法确定调用方调用该方法的方式,只能确定调用了该方法