首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java8中使用流将集合/数组转换为JSONArray

如何在java8中使用流将集合/数组转换为JSONArray
EN

Stack Overflow用户
提问于 2018-01-08 14:45:26
回答 1查看 10.6K关注 0票数 10

我有一个双精度数组,我需要使用java streams将该数组转换为JSONArray。我尝试使用forEach (共享可变性),但这会导致数据丢失。

代码语言:javascript
复制
public static JSONArray arrayToJson(double[] array) throws JSONException{
    JSONArray jsonArray = new JSONArray();
    
    Arrays.stream(array)
         .forEach(jsonArray::put);  

    return jsonArray;
}

有没有办法使用streams创建JSONArray

EN

回答 1

Stack Overflow用户

发布于 2018-01-08 15:54:51

JSONArray不是线程安全的。如果你使用的是并行流,你应该同步操作。

代码语言:javascript
复制
Arrays
    .stream(array)
    .parallel()
    .forEach(e -> {
        synchronized(jsonArray) {
            jsonArray.put(e);
        }
    });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48145457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档