数组声明之间的区别

mis*_*app 1 java variables object

int[] a = new int[]{1,2,3};

int[] b = {1,2,3};
Run Code Online (Sandbox Code Playgroud)

a和b有什么区别?我是对的,首先是对象,'a'是链接,第二是原始类型,'b'是变量?但是第一个阵列有哪些优点/缺点?

T.J*_*der 5

在像你那样的初始化中,它们之间没有任何区别.它们产生相同的字节码.请注意,您必须使用第一种形式中的分配,虽然:

int[] b;
b = {1,2,3}; // <== Syntax error
Run Code Online (Sandbox Code Playgroud)

我是对的,首先是对象,'a'是链接,第二是原始类型,'b'是变量?

不,在这两种情况下,您都有一个变量(a,b),它是对数组的引用.