什么';在JAVA中,`type a[]`和`type[]a`之间的区别是什么

什么';在JAVA中,`type a[]`和`type[]a`之间的区别是什么,java,arrays,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) { // T

我打了以下,似乎没有什么区别

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]);
            }
        }
    }

}
import java.math.biginger;
导入java.util.Random;
导入java.util.Scanner;
公共班机{
/**
*@param args
*/
最终静态int最大值=100005;
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
int n=100;
BigInteger[]a=新的BigInteger[n];
BigInteger b[]=新的BigInteger[n];
对于(int i=0;i
其仅用于声明。。。例如:类型a[],b这里只有a是数组,当您像类型[]a一样声明时,b都是数组。。。同样,对于所有类型。。。
类型[]a,b[]这里b是二维数组

正如满是鳗鱼的气垫船所提到的,它们都是等价物

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

Java的语法是从C派生的,C使用T a[]表示法。 但是,使用T[]a更“正确”,它不会分割类型信息。当使用带有类型推断的语言(Scala、C#和可能的Java8)时,这一点特别明显。在这种情况下,您可以使用

var a = <some expression which returns a T[]>
var a=

区别在于,没有什么真正的区别。它们只是同一事物的不同形式。我自己我更喜欢a型,因为a型对我来说更清晰,但最重要的是对你的老板/教练/同事来说更清晰。气垫船就是这么说的。只需确保不要意外地将其设置为
type[]a[]
,因为这将使其成为二维数组@哦,谢谢你。