zoukankan      html  css  js  c++  java
  • StringJoiner,StringBuffer的一些lamada写法

    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}
  • 相关阅读:
    Netty源码分析第6章(解码器)---->第3节: 行解码器
    Netty源码分析第6章(解码器)---->第2节: 固定长度解码器
    Netty源码分析第6章(解码器)---->第1节: ByteToMessageDecoder
    Netty源码分析第5章(ByteBuf)---->第10节: SocketChannel读取数据过程
    Netty源码分析第5章(ByteBuf)---->第9节: ByteBuf回收
    Netty源码分析第5章(ByteBuf)---->第8节: subPage级别的内存分配
    Netty源码分析第5章(ByteBuf)---->第7节: page级别的内存分配
    【转】关于Tomcat下项目线程启动两次的问题
    设计模式【单例模式】
    【SQL学习笔记】一、select语句
  • 原文地址:https://www.cnblogs.com/passedbylove/p/11326587.html
Copyright © 2011-2022 走看看