she*_*221 1 java collections java-stream
我有一组InternetAddress recipients是我的收件人.我需要将它转换为Set.我用了
Set<String> reci = new HashSet<>();
for(InternetAddress recipient : recipients){
reci.add(recipient.toString());
}
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,是否可以避免使用循环并使用java 8 map和stream执行此操作.我尝试了以下但是没有用.
recipients.stream().map(String::new).collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)
这给出了错误'无法解析构造函数字符串'.
该.map(String::new)手段element -> new String(element)并用一个String构造InternetAdress不存在
你需要
recipients.stream().map(InternetAddress::toString).collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)