我有一组InternetAddress recipients
,它们是我的收件人。我需要将其转换为Set。我用
Set<String> reci = new HashSet<>();
for(InternetAddress recipient : recipients){
reci.add(recipient.toString());
}
效果很好,是否可以避免使用loop并使用java 8 map和stream做到这一点。我尝试了以下方法,但是没有用。
recipients.stream().map(String::new).collect(Collectors.toSet());
出现错误“无法解析构造函数字符串”。
答案 0 :(得分:5)
.map(String::new)
的意思是element -> new String(element)
,并且不存在带有InternetAdress
的String构造函数
您需要
recipients.stream().map(InternetAddress::toString).collect(Collectors.toSet());