小编Ude*_*ara的帖子

为什么Java varags method(int [] ... x)接受此“ new int [1] [1]”二维数组类型作为参数?

我有这样的方法。

void method(int[] ...x){}
Run Code Online (Sandbox Code Playgroud)

并且我可以使用method(new int[]{1,2,3,4}); 它来调用方法。但是编译器也会编译此2d数组类型。

method(new int[][]{new int[]{1,2,3},new int[]{4,5,6}});
Run Code Online (Sandbox Code Playgroud)

我想知道原因。 方法具有一维数组类型引用。但是编译器接受二维数组类型。

java arrays compilation variadic-functions

2
推荐指数
1
解决办法
62
查看次数

为什么在Java varargs(int ... x,double ... y)中出现此编译错误?

static void m(int ...x,double ...y){}
Run Code Online (Sandbox Code Playgroud)

我尝试使用这种方法。但是它编译错误。我想知道原因。

int x[]=new int[2];
double y[]=new double[2];
Run Code Online (Sandbox Code Playgroud)

我这样做两个数组,我想将它们解析为方法m

m(x,y); like this.
Run Code Online (Sandbox Code Playgroud)

java methods variadic-functions

1
推荐指数
1
解决办法
114
查看次数

标签 统计

java ×2

variadic-functions ×2

arrays ×1

compilation ×1

methods ×1