List转换为字符串并添加分隔符

时间:2023-12-15 21:46:38
  1. // 方法一:
  2. public String listToString(List list, char separator) {
  3. StringBuilder sb = new StringBuilder();
  4. for (int i = 0; i < list.size(); i++) {
  5. sb.append(list.get(i)).append(separator);
  6. }
  7. return list.isEmpty()?"":sb.toString().substring(0, sb.toString().length() - 1);
  8. }
  9. // 方法二:
  10. public String listToString2(List list, char separator) {
  11. StringBuilder sb = new StringBuilder();
  12. for (int i = 0; i < list.size(); i++) {
  13. if (i == list.size() - 1) {
  14. sb.append(list.get(i));
  15. } else {
  16. sb.append(list.get(i));
  17. sb.append(separator);
  18. }
  19. }
  20. return sb.toString();
  21. }
  22. // 方法三:
  23. public String listToString3(List list, char separator) {
  24. StringBuilder sb = new StringBuilder();
  25. for (int i = 0; i < list.size(); i++) {
  26. sb.append(list.get(i));
  27. if (i < list.size() - 1) {
  28. sb.append(separator);
  29. }
  30. }
  31. return sb.toString();
  32. }
  33. // 方法四:
  34. public class Separator {
  35. private String next = "";
  36. private String separator;
  37. public Separator(String separator) {
  38. this.separator = separator;
  39. }
  40. public String get() {
  41. String result = next;
  42. next = separator;
  43. return result;
  44. }
  45. }
  46. public String listToString4(List<String> list, Separator separator) {
  47. StringBuilder sb = new StringBuilder();
  48. for (String s : list) {
  49. if (s != null && !"".equals(s)) {
  50. sb.append(separator.get()).append(s);
  51. }
  52. }
  53. return sb.toString();
  54. }
  55. // 方法五:
  56. public String listToString5(List list, char separator) {
  57. return org.apache.commons.lang.StringUtils.join(list.toArray(),separator);
  58. }