From 7ad3e432a1b753913d127772448dc26d72db6c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=81=E4=B9=BE=E6=96=87?= <761945125@qq.com> Date: Fri, 26 Mar 2021 16:18:19 +0800 Subject: [PATCH] fix issue #70 --- .../service/impl/engine/plugin/ALLINONE.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/engine/plugin/ALLINONE.java b/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/engine/plugin/ALLINONE.java index 4acff85..cb12b0b 100644 --- a/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/engine/plugin/ALLINONE.java +++ b/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/engine/plugin/ALLINONE.java @@ -32,13 +32,14 @@ public class ALLINONE implements PluginServiceV2 { if (sourceField == null || sourceField.length == 0) { return ""; } - StringBuilder builder = new StringBuilder(); - for (String field : sourceField) { - Object f = jsonInfo.get(field); - builder.append(f == null ? "" : f.toString()); - builder.append("_"); + // 优化下此处代码 + StringJoiner stringJoiner = new StringJoiner("_"); + for (String sf : sourceField) { + stringJoiner.add(Optional.ofNullable(jsonInfo.getOrDefault(sf, "")) + .map(String::valueOf) + .orElse("")); } - builder.deleteCharAt(builder.length() - 1); - return builder.toString(); + return stringJoiner.toString(); } + }