1

java.util.HashMapクラスコードを調べていると、次のように定義されていることがわかりましたMAXIMUM_CAPACITY

static final int MAXIMUM_CAPACITY = 1 << 30;

直接値を割り当てる代わりに、そのように初期化する特定の理由はありますか?

4

2 に答える 2

2

最初に、値がどのように選択されたかを説明します - 2^30 (これは 2 のべき乗であり、最大 int 値の約半分です) は、0x40000000 や 1073741824 のようなものよりも意味があり
ます。次に、コンパイラはとにかく値を計算します。

于 2013-09-16T20:19:39.680 に答える