考虑以下代码:
class arraytest {
public static void main(String args[]) {
int[] a = null , b[] = null;
b = a;
System.out.println( b );
}
}
Run Code Online (Sandbox Code Playgroud)
这条线
b = a;
Run Code Online (Sandbox Code Playgroud)
由编译器标记:
Incompatible types, found int[], required int [][]
Run Code Online (Sandbox Code Playgroud)
为什么b被认为是二维的?我意识到"捷径"的宣言
int[] a = null , b[] = null;
是责备,但为什么只有一组括号写入时才使数组成为二维数?我发现这种语法不清楚和混淆.
Ric*_*dle 19
举个例子:
int a, b;
Run Code Online (Sandbox Code Playgroud)
然后a和b都是整数,对吗?所以现在拿这个:
int[] a, b;
Run Code Online (Sandbox Code Playgroud)
a和b都是int数组.所以通过添加另一组括号:
int[] a, b[];
Run Code Online (Sandbox Code Playgroud)
你已经为b添加了另一组括号.
这两种情况都可以:
int[] a = null , b = null;
int a[] = null , b[] = null;
Run Code Online (Sandbox Code Playgroud)
或者正如你所说,简单地将它们放在不同的行上也会起作用(并且更容易阅读).
int[] a = null , b[] =null;
Run Code Online (Sandbox Code Playgroud)
....它等于:
int[] a = null;
int[][]b = null;
Run Code Online (Sandbox Code Playgroud)
你必须做 :
int[] a = null , b =null;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
514 次 |
最近记录: |