发现问题
创建数组用int array = new int[]{1,2,3}和int[] array = {1,2,3}哪种方式更好?
昨天看了发的"比武招亲",马上试了下,发现我能做出来。但是我遇到一个问题:
int[] index = new int[]{0,1,2,3,4,0,1,2,6,7};
这种创建数组的方式我没见过,要是我写这个数组的话就是这样的:
int[] index = {0,1,2,3,4,0,1,2,6,7};
然后我觉得第一种是高级写法,遂去百度和问群友:
然而没有得到满意的答案。。
灵光一现
中午饭点时间突然想起可以使用Java的反编译啊!!
遂打开Jdea(一个群友的叫法),写入代码:
package com.kevin.test;
public class ArrayDemo04 {
public static void main(String[] args) {
int[] array01 = {1,2,3,4,5,6};
int[] array02 = new int[]{1,2,3,4,5,6,7};
System.out.println(array01.toString());
System.out.println(array02.toString());
}
}
将其编译成.class文件
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.kevin.test;
public class ArrayDemo04 {
public ArrayDemo04() {
}
public static void main(String[] args) {
int[] array01 = new int[]{1, 2, 3, 4, 5, 6};
int[] array02 = new int[]{1, 2, 3, 4, 5, 6, 7};
System.out.println(array01.toString());
System.out.println(array02.toString());
}
}
对比之下发现,无论是哪种写法,都会被编译成:
int[] var = new int[]{1,2,3}
得到结论,并不是什么高级写法,底层都是一样的。。
以后我还是继续写我的简便方式int[] var = {1,2,3}吧!