-1

空の配列をインスタンス化するには、次の 2 つの表記法のうちどちらが最適かを判断します。

  1. Object[] emptyArray = new Object[] {};
  2. Object[] emptyArray = new Object[0];

それらはコンパイラにとってまったく同じですか?一方が他方よりはっきりと見えますか?

私は好奇心から尋ねているだけです: 私はそれが私のプログラムに影響を与えないことをよく知っています

4

1 に答える 1

2

それらはコンパイラにとってまったく同じですか?

はい。どちらも同じバイトコードになります。

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

一方が他方よりはっきりと見えますか?

それは無限の議論につながる可能性があるため、おそらくSOのトピックから外れています:)

私はnew Object[0];読みやすいと思いますが、他の人は反対するかもしれません.

于 2013-03-21T14:33:39.573 に答える