0
は、次のコードを考えてみましょう:可変配列の作成は遅延ですか?
void someMethod(Object... varargParam){
if(someCondition){
doSomethingWith(varargParam);
}
}
someCondition
がfalse
に解決された場合、varargParam
が未使用です。 Object array
がまだ作成されるのですか、またはこの作成は最初の使用時にポストフォンされますか?
アレイはコールサイトで作成されます。 –
関数をインライン展開した後、実行時に割り当てが消えるかもしれませんが、それは言語による保証ではなく、一部のJITによって行われる最適化です。 – the8472