数组转换为String 字符串 工具类

    技术2022-07-10  134

    /** * 数组转换为string * @param obj 数组 * @param splitter 分隔符 * @param prefix 每个对象用该前缀包含,例如 'a' * @param withStart 是否在收尾增加分隔符 * @return */ public static String collectionToString(Object obj, String splitter, String prefix, boolean withStart) { if (obj == null) { return null; } StringBuilder sb = new StringBuilder(); int i = 0; if (obj instanceof Collection) { for (Object o : (Collection) obj) { String oStr = String.valueOf(o); if (StringUtils.isBlank(oStr)) { continue; } if (i == 0 && withStart) { sb.append(splitter); } if (i > 0 ) { sb.append(splitter); } if (StringUtils.isNotBlank(prefix)) { sb.append(prefix); } sb.append(o); if (StringUtils.isNotBlank(prefix)) { sb.append(prefix); } i++; } } else if (obj.getClass().isArray()) { for (Object o : ( Object[]) obj) { String oStr = String.valueOf(o); if (StringUtils.isBlank(oStr)) { continue; } if (i == 0 && withStart) { sb.append(splitter); } if (i > 0 ) { sb.append(splitter); } if (StringUtils.isNotBlank(prefix)) { sb.append(prefix); } sb.append(o); if (StringUtils.isNotBlank(prefix)) { sb.append(prefix); } i++; } } else { // 单个对象,不是数组 if (StringUtils.isNotBlank(prefix)) { sb.append(prefix); } sb.append(obj); if (StringUtils.isNotBlank(prefix)) { sb.append(prefix); } withStart = false; } if (withStart && sb.length() > 0) { sb.append(splitter); } return sb.toString(); }
    Processed: 0.010, SQL: 9