public String friendlyText(List data)
{
if(CollectionUtils.isEmpty(data)) {
return "[]";
} StringJoiner joiner = new StringJoiner(",", "[", "]");
String body = (String)data.stream().map(entry -> toJsonString(entry)).collect(Collectors.joining(","));
return joiner.add(body).toString();
} public String toJsonString(Object target)
{
return JSON.toJSONStringWithDateFormat(target,"yyyy-MM-dd HH:mm:ss");
} List data = new ArrayList(); for (int i = 0; i <10 ; i++) {
SnmpMemory memory = new SnmpMemory
.Builder()
.withId(Long.valueOf(i))
.withCreateTime(LocalDateTime.now())
.withMemTotalReal(1024L)
.withMemTotalSwap(512L)
.withNodeId(Long.valueOf(i^2))
.build();
data.add(memory);
} String friendlyText = (String)data.stream().reduce(new StringBuilder(), (buffer, item) -> buffer.append(toJsonString(item)).append(','), StringBuffer::append).toString(); String body = (String)data.stream().map(entry -> toJsonString(entry)).collect(Collectors.joining(", "));
String friendlyText = "[".concat(body).concat("]");
System.out.println(friendlyText); StringJoiner joiner = new StringJoiner(",", "[", "]");
String body = (String)data.stream().map(entry -> toJsonString(entry)).collect(Collectors.joining(","));
String friendlyText = joiner.add(body).toString();
System.out.println(friendlyText); 输出结果:
[{"createTime":"2019-08-09 11:20:06","id":0,"memTotalReal":1024,"memTotalSwap":512,"nodeId":2},{"createTime":"2019-08-09 11:20:06","id":1,"memTotalReal":1024,"memTotalSwap":512,"nodeId":3},{"createTime":"2019-08-09 11:20:06","id":2,"memTotalReal":1024,"memTotalSwap":512,"nodeId":0},{"createTime":"2019-08-09 11:20:06","id":3,"memTotalReal":1024,"memTotalSwap":512,"nodeId":1},{"createTime":"2019-08-09 11:20:06","id":4,"memTotalReal":1024,"memTotalSwap":512,"nodeId":6},{"createTime":"2019-08-09 11:20:06","id":5,"memTotalReal":1024,"memTotalSwap":512,"nodeId":7},{"createTime":"2019-08-09 11:20:06","id":6,"memTotalReal":1024,"memTotalSwap":512,"nodeId":4},{"createTime":"2019-08-09 11:20:06","id":7,"memTotalReal":1024,"memTotalSwap":512,"nodeId":5},{"createTime":"2019-08-09 11:20:06","id":8,"memTotalReal":1024,"memTotalSwap":512,"nodeId":10},{"createTime":"2019-08-09 11:20:06","id":9,"memTotalReal":1024,"memTotalSwap":512,"nodeId":11}] String friendlyText = (String)data.stream().reduce(new StringBuilder(), (buffer, item) -> buffer.append(toJsonString(item)).append(','), StringBuffer::append).toString(); 输出结果:
{"createTime":"2019-08-09 11:20:06","id":0,"memTotalReal":1024,"memTotalSwap":512,"nodeId":2},{"createTime":"2019-08-09 11:20:06","id":1,"memTotalReal":1024,"memTotalSwap":512,"nodeId":3},{"createTime":"2019-08-09 11:20:06","id":2,"memTotalReal":1024,"memTotalSwap":512,"nodeId":0},{"createTime":"2019-08-09 11:20:06","id":3,"memTotalReal":1024,"memTotalSwap":512,"nodeId":1},{"createTime":"2019-08-09 11:20:06","id":4,"memTotalReal":1024,"memTotalSwap":512,"nodeId":6},{"createTime":"2019-08-09 11:20:06","id":5,"memTotalReal":1024,"memTotalSwap":512,"nodeId":7},{"createTime":"2019-08-09 11:20:06","id":6,"memTotalReal":1024,"memTotalSwap":512,"nodeId":4},{"createTime":"2019-08-09 11:20:06","id":7,"memTotalReal":1024,"memTotalSwap":512,"nodeId":5},{"createTime":"2019-08-09 11:20:06","id":8,"memTotalReal":1024,"memTotalSwap":512,"nodeId":10},{"createTime":"2019-08-09 11:20:06","id":9,"memTotalReal":1024,"memTotalSwap":512,"nodeId":11}

StringJoiner,StringBuffer的一些lamada写法的更多相关文章

  1. linq lamada

    static void Main(string[] args) { List<Customer> cust = new List<Customer>() { ",Ci ...

  2. 13-01 java StringBuffer类,StringBuilder类

    StringBuffer类的构造方法 package cn.itcast_01; /* * 线程安全(多线程讲解) * 安全 -- 同步 -- 数据是安全的 * 不安全 -- 不同步 -- 效率高一些 ...

  3. StringBuilder、StringBuffer和StringJoiner

    StringBuilder是可变对象,用来高效拼接字符串: StringBuilder可以支持链式操作,实现链式操作的关键是返回实例本身: StringBuffer是StringBuilder的线程安 ...

  4. C#进阶系列——动态Lamada

    前言:在DDD系列文章里面,我们在后台仓储里面封装了传递Lamada表达式的通用方法,类似这样: public virtual IQueryable<TEntity> Find(Expre ...

  5. 新手容易混乱的String+和StringBuffer,以及Java的方法参数传递方式。

    之前在交流群里和猿友们讨论string+和stringbuffer哪个速度快以及Java的方法参数传递的问题,引起了群里猿友的小讨论.最终LZ得出的结果是string+没有stringbuffer快, ...

  6. JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)

    主函数类MainDemo.java package com.itcast.test20140109; import java.util.ArrayList; import java.util.Coll ...

  7. 黑马程序员——【Java基础】——String、StringBuffer和基本数据包装类

    ---------- android培训.java培训.期待与您交流! ---------- 类String---------------------------------------------- ...

  8. [drp 2]String、StringBuffer和StringBuilder的区别

    导读:在实际运用了,我们会频繁的用到string.stringBuffer和stringBuilder这三个东西,那么,他们之间的区别是什么呢.本文主要是从拼写SQL语句的角度,来阐释他们之间的区别! ...

  9. javacc jjtree 写法 以及 jj写法 基本语法 以及应用

    /***********************************************************/>我使用的测试jjt,jj文件来自于javacc5.0版本>dir ...

随机推荐

  1. 03 js事件循环

    1. js里重要的是事件循环. 参考:https://nodejs.org/en/docs/guides/ 中文版:https://github.com/nodejs/nodejs.org/tree/ ...

  2. 洛谷P2341 [HAOI2006]受欢迎的牛 (Tarjan,SCC缩点)

    P2341 [HAOI2006]受欢迎的牛|[模板]强连通分量 https://www.luogu.org/problem/P2341 题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就 ...

  3. Canvas对画布及文字控制基础API学习

    这次纯API练习,比较简单,但是是为了之后的结合项目打基础的,所以也不能忽视它,下面开始: Canvas的平移.旋转.缩放 这里还是以上次画那个青春痘的DEMO为例[http://www.cnblog ...

  4. js动画fireworks烟花

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. ArcGIS水文分析实战教程(15)库容和淹没区计算

    库容和淹没区计算 的基本流程 要计算库容就必须先计算出该集水区面积,并且通过不同的水位计算出淹没区,并利用淹没区去裁剪DEM数据,将水面与下垫面的体积计算出来,这就是水库的库容.由于有了前面的基础,这 ...

  6. FFmpeg常用命令学习笔记(二)录制命令

    录制命令 1.FFmpeg录屏命令 ffmpeg -f avfoundation -i 1 -r 30 out.yuv -f:指定使用avfoundation采集数据 -i:指定从哪采集数据,它是一个 ...

  7. USC-- compute shader ps vs

    http://cdn.imgtec.com/sdk-documentation/PowerVR%20Compute%20Development%20Recommendations.pdf powerV ...

  8. PLSQL打开文件中文出现乱码

    假定数据库使用的是:American_America.AL32UTF8字符集. 查询方式:SELECT * FROM v$nls_parameters ; 查看NLS_CHARACTERSET 的值是 ...

  9. bzoj1797: [Ahoi2009]Mincut 最小割(网络流,缩点)

    传送门 首先肯定要跑一个最小割也就是最大流 然后我们把残量网络tarjan,用所有没有满流的边来缩点 一条边如果没有满流,那它就不可能被割了 一条边如果所属的两个强联通分量不同,它就可以被割 一条边如 ...

  10. [2019牛客多校第二场][E. MAZE]

    题目链接:https://ac.nowcoder.com/acm/contest/882/E 题目大意:有一个\(n\times m\)的01矩阵,一开始可以从第一行的一个点出发,每次可以向左.向右. ...