を使ってjavax.mail.Message#setRecipeints
いると、初めて気づき、もっと知りたいと思いました。
これは私のコードです:
List<InternetAddress> ccRecipients = new ArrayList<InternetAddress>();
// have a valid and working
// method that fills the list with the data (InternetAddress objects)
message.setRecipients(
RecipientType.CC, ccRecipients.toArray(new InternetAddress[0]));
ここでは、なぜ新しい配列を作成し、メソッドInternetAddress
の0番目のインデックスに要素を渡す必要があるのかわかりません。toArray
なぜこれを行う必要があるのか誰かが説明できますか?
toArray
この特別な方法と関係があると思います。
APIドキュメントから以下を読みましたが、最後の部分(太字)を取得できませんでした:
toArray()メソッドと同様に、このメソッドは配列ベースのAPIとコレクションベースのAPIの間のブリッジとして機能します。さらに、このメソッドを使用すると、出力配列のランタイムタイプを正確に制御でき、特定の状況下では、割り当てコストを節約するために使用できます。
割り当てコストをどのように節約しますか?