Java 实例化空数组的最佳符号?
要实例化空数组,以下两种符号中哪一种是最好的:Java 实例化空数组的最佳符号?,java,arrays,Java,Arrays,要实例化空数组,以下两种符号中哪一种是最好的: Object[]emptyArray=新对象[]{} Object[]emptyArray=新对象[0] 对于编译器,它们是否完全相同?一个看起来比另一个清晰吗 我只是出于好奇问:我很清楚这对我的计划没有影响 对于编译器,它们是否完全相同 对。它们都产生相同的字节码: Object[] emptyArray = new Object[] {}; 0: iconst_0 1: anewarray #3
Object[]emptyArray=新对象[]{}代码>
Object[]emptyArray=新对象[0]代码>
Object[] emptyArray = new Object[] {};
0: iconst_0
1: anewarray #3 // class java/lang/Object
4: astore_1
Object[] emptyArray1 = new Object[0];
5: iconst_0
6: anewarray #3 // class java/lang/Object
9: astore_2
10: return
一个看起来比另一个清晰吗
这可能是离题了,因为它会导致没完没了的讨论:)
我会说
新对象[0]代码>更容易阅读,但其他人可能会反对。第二个让你获得两个宝贵的字节,其目的可能更清楚。为什么你需要空数组?@NikolayKuznetsov有许多合法的情况,你从一个空数组开始,然后再增长。第二个更清楚:为了避免NPE。。。例如File[]listFiles()
方法。