简述
在拼接字符串的过程中有时需要拼接分隔符, 如果你只会用 + 或者 StringBuilder/ StringBuffer 拼接字符串?那你就 OUT 了,建议使用 Java 8 中的这款字符串拼接神器:StringJoiner,你值得拥有。
代码片断
原来的字符串拼接代码
1 2 3 4 5 6 7 8
| String logStr="\n---------------------------------------------------------------------" + "\n请求ip:" + clientIp + ":" + clientPort + "\n请求url:"+clientUrl+ "\n请求方式:"+requestMethod+ "\n执行时长:" + stopwatch.elapsed(TimeUnit.MILLISECONDS) + "ms" + "\n入参:" + (args == null ? "[]" : Arrays.toString(args)) + "\n出参:" + (result == null ? "[]" : objectMapper.writeValueAsString(result))+ "\n----------------------------------------------------------------------";
|
使用 StringJoiner 之后
1 2 3 4 5 6 7 8 9 10 11
| StringJoiner stringJoiner = new StringJoiner("\n"); stringJoiner.add(""); stringJoiner.add("---------------------------------------------------------------------"); stringJoiner.add("请求ip:" + clientIp + ":" + clientPort); stringJoiner.add("请求url:"+clientUrl); stringJoiner.add("请求方式:"+requestMethod); stringJoiner.add("执行时长:"+stopwatch.elapsed(TimeUnit.MILLISECONDS) + "ms"); stringJoiner.add("入参:" + (args == null ? "[]" : Arrays.toString(args))); stringJoiner.add("出参:" + (result == null ? "[]" : objectMapper.writeValueAsString(result))); stringJoiner.add("----------------------------------------------------------------------"); String logStr=stringJoiner.toString();
|
不需要自己处理分隔符了,是不是轻闲了不少?
进一步研究源码就会发现,其实际上是对 StringBuilder 做了进一步的封装

微信端的朋友也可关注我的公众号
