[英]Convert a List of objects to a String array
我有下面的pojo,它由以下成员组成,所以下面是其中很少成员的pojo
public class TnvoicetNotify {
private List<TvNotifyContact> toMap = new ArrayList<TvNotifyContact>();
private List<TvNotifyContact> ccMap = new ArrayList<TvNotifyContact>();
}
现在在其他某个类中,我正在方法签名中获取上述TnvoicetNotify类的对象作为参数,如下所示。.因此,我想编写从列表中提取的代码,并将其存储在此方法本身的字符串数组中
public void InvPostPayNotification(TnvoicetNotify TnvoicetNotify)
{
String[] mailTo = it should contain all the contents of list named toMap
String[] mailCC = it should contain all the contents of list named ccMap
}
现在在上面的类中,我需要提取toMap,它是上述pojo中名为TnvoicetNotify的pojo类型的列表,并且如果arraylist以字符串形式显示,我想存储每个项目,如下所示
例如列表中的第一项是A1,第二项是A2,第三项是A3,因此应将其存储在字符串数组中,如下所示:
String[] mailTo = {"A1","A2","A3"};
类似地,我也想在cc部分中实现相同的效果,就像在上面的pojo中一样,它在列表中我想以以下方式存储
String[] mailCc = {"C1","C2","C3"};
所以请建议如何在InvPostPayNotification方法中实现此目标
伪代码,因为我不知道TnvoicetNotify
详细信息:
public void invPostPayNotification(final TnvoicetNotify tnvoicetNotify)
{
final List<String> mailToList = new ArrayList<>();
for (final TvNotifyContact tv : tnvoicetNotify.getToMap()) { // To replace: getToMap()
mailToList.add(tv.getEmail()); // To replace: getEmail()
}
final String[] mailTo = mailToList.toArray(new String[mailToList.size()])
// same for mailCc then use both arrays
}
如果您使用的是Java 8,则只需使用一个内衬即可:
String[] mailCC = ccMap.stream().map(TvNotifyContact::getEmail).toArray(String[]::new);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.