JAVA中`type a []`和`type [] a`之间有什么区别?

时间:2013-04-13 02:27:30

标签: java arrays

我把以下内容绑起来,似乎没有区别

import java.math.BigInteger;
import java.util.Random;
import java.util.Scanner;


public class Main {

    /**
     * @param args
     */

    final static int MAXN = 100005;



    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int n = 100;
        BigInteger[] a = new BigInteger[n];
        BigInteger b[] = new BigInteger[n];
        for (int i = 0;i < n;i++){
            a[i] = BigInteger.valueOf(i);
        }
        b = a;
        for (int i = 0;i < n;i++){
            b[i] = BigInteger.ZERO;
        }
        if (a == b){
            for (int i = 0;i < n;i++){
                System.out.println(a[i]);
            }
        }
    }

}

2 个答案:

答案 0 :(得分:1)

仅用于声明...例如:键入a [],b这里只有一个是数组,当你声明类似[] a,b都是数组时...同样适用于所有类型...... type [] a,b []这里b是二维数组......

答案 1 :(得分:0)

正如@Hovercraft Full Of Eels所提到的,它们都是等同的。

T a []和T [] a是相同的。

Java从C语言派生它的语法,它使用T a []表示法。 然而,使用不分割类型信息的T [] a更“正确”。当使用带有类型推断的语言(Scala,C#和Java 8)时,这一点尤为明显。在这种情况下,你会使用像

这样的东西
var a = <some expression which returns a T[]>