我试图创建两个JSONObjects和值并为Arraylist获取它。我正在使用Java8 ParallelStream和forEach功能来实现这一点。
请在下面找到我的代码,我无法在单个 forEach 方法中创建两个 JSON对象。
错误像:userlist cannot be resolved
user_list.parallelStream().forEach((userlist) ->
purchaserDetail.put("Purchaser", userlist.getName()),
purchaserDetail.put("Purchaser_Email", userlist.getEmail_address()) ) ;
多个语句需要大括号:
user_list.parallelStream().forEach((userlist) -> {
purchaserDetail.put("Purchaser", userlist.getName());
purchaserDetail.put("Purchaser_Email", userlist.getEmail_address());});
如果您关心元素放入purchaserDetail
的顺序,则可能需要使用 forEachOrdered
。
虽然同意@Eran答案包装成{}。我不认为这是线程安全的,因为同一个对象 buyerDetail 是由并行流放置的,当想要放入同一个对象时不要使用并行流,除非正在操作的对象是线程安全的实现(即 ConcurrentHashMap(