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();
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-7056.html