博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从一行代码到Guava Joiner
阅读量:6545 次
发布时间:2019-06-24

本文共 1552 字,大约阅读时间需要 5 分钟。


title: 从一行代码到Guava Joiner tags:

  • Guava
  • Joiner
  • MapJoiner
  • Sonar categories: guava date: 2017-11-16 15:13:32

背景

代码中的到处散乱着如下的代码

开发到处拷贝粘贴导致,事实上某些情况下开发还需要处理最后一个分隔符

解决方案

StringBuilder

Sonar给出的方案

The method seems to be building a String using concatenation in a loop. In each iteration, the String is converted to a StringBuffer/StringBuilder, appended to, and converted back to a String. This can lead to a cost quadratic in the number of iterations, as the growing string is recopied in each iteration.

Better performance can be obtained by using a StringBuffer (or StringBuilder in Java 1.5) explicitly.

For example:

// This is bad     String s = "";     for (int i = 0; i < field.length; ++i) {       s = s + field[i];     }          // This is better     StringBuffer buf = new StringBuffer();     for (int i = 0; i < field.length; ++i) {       buf.append(field[i]);     }     String s = buf.toString();复制代码

对于栈上私有对象来说应当考虑StringBuilder更好

Joiner

当然我们更好的方法是使用Guava 的Joiner

比如

List
list = Lists.transform(tbRoleOrgList, new Function
() { @Nullable @Override public String apply(@Nullable TbRoleOrg input) { return input == null ? null : input.getOrgId(); } }); Joiner joiner = Joiner.on(",").skipNulls(); return joiner.join(list);复制代码

joiner 提供了比较多的api

当然还有MapJoiner也是很常用的工具类

Joiner.MapJoiner mapJoiner = Joiner.on("&").withKeyValueSeparator("=");    return  mapJoiner.join(errorMap);复制代码

十分方便【更重要的是Joiner和MapJoiner是线程安全的~】

某些拼接URL的场景十分合用!

转载地址:http://ewldo.baihongyu.com/

你可能感兴趣的文章
c++ 类型定义
查看>>
C#开发微信门户及应用(5)--用户分组信息管理
查看>>
怎样实现前端裁剪上传图片功能
查看>>
ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
查看>>
2011/7/3 第二次评审
查看>>
Openvswitch手册(2): OpenFlow Controller
查看>>
tar解压
查看>>
inheritprototype原型继承封装及综合继承最简实例
查看>>
【磁耦隔离接口转换器】系列产品选型指南
查看>>
Apriori 关联算法学习
查看>>
Junit核心——测试集(TestSuite)
查看>>
MVPArms官方首发一键生成组件化,体验纯傻瓜式组件化开发
查看>>
Log4j_学习_00_资源帖
查看>>
制作iso镜像U盘自动化安装linux系统
查看>>
JSLint的使用
查看>>
命令行常用命令--软连接
查看>>
HTTP POST GET 本质区别详解
查看>>
PHP中HASH函数的优化技巧
查看>>
MD5加密
查看>>
ant
查看>>