使用时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
数组并在toArray
方法中的第 0 个索引处传递元素?
谁能解释为什么我们需要这样做?
我认为这与这种特殊的toArray
方法有关。
我从 API 文档中阅读了以下内容,但没有得到最后一部分(粗体):
与 toArray() 方法一样,此方法充当基于数组的 API 和基于集合的 API 之间的桥梁。此外,此方法允许对输出数组的运行时类型进行精确控制,并且在某些情况下可用于节省分配成本。
它如何节省分配成本?