は、私は次のコードを持っていると言います。しかし、リテラル値を処理しているので、コンパイラはプリミティブリテラルをボックスリテラルに置き換えることができるので、余分なランタイムオーバーヘッドはありません。プリミティブリテラルのオートボックスにはパフォーマンスコストはありますか?理論的に</p> <pre><code>Map<String, Boolean> map = ... map.put("foo", true); </code></pre> <p>、<code>true</code>は<code>Boolean.TRUE</code>を挿入対ヒットわずかなパフォーマンスが得られ、autoboxedする必要があります:
誰かが私を攻撃する前に、パフォーマンスのコストがわずかであっても、コードの明快さのために原始的なリテラルを選択します。この質問は主に理論的なものです。
パフォーマンス関連の質問を理解するための鍵は、常にテストから始まります。あなたの質問を改善するために、パフォーマンス分析の結果を示すタイミングテストを示してください。たとえば、100Kのエントリをマップに入れ、それがどれくらいかかったかを出力するタイミング付きfor-loopを書くことができます。また、 'map.put'の異なる引数についても同じことを実行します。 – activedecay
' Boolean'定数を使うことができます。 'map.put(" foo "、Boolean.TRUE);' –
@ElliottFrisch私は知っています。私の質問は、それがまったく助けになるかどうかです。 – shmosel