StringUtil.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /**
  2. * DBSyncer Copyright 2020-2023 All Rights Reserved.
  3. */
  4. package org.dbsyncer.common.util;
  5. import org.apache.commons.lang3.StringUtils;
  6. public abstract class StringUtil {
  7. public static final String EMPTY = "";
  8. public static final String SYMBOL = "-";
  9. public static final String UNDERLINE = "_";
  10. public static final String COLON = ":";
  11. public static final String SPACE = " ";
  12. public static final String SINGLE_QUOTATION = "'";
  13. public static final String DOUBLE_QUOTATION = "\"";
  14. public static final String FORWARD_SLASH = "/";
  15. public static final String BACK_QUOTE = "`";
  16. public static final String POINT = ".";
  17. public static final String VERTICAL_LINE = "|";
  18. public static final String COMMA = ",";
  19. public static boolean equals(CharSequence cs1, CharSequence cs2) {
  20. return StringUtils.equals(cs1, cs2);
  21. }
  22. public static boolean equalsIgnoreCase(CharSequence cs1, CharSequence cs2) {
  23. return StringUtils.equalsIgnoreCase(cs1, cs2);
  24. }
  25. public static boolean isBlank(CharSequence cs) {
  26. return StringUtils.isBlank(cs);
  27. }
  28. public static boolean isNotBlank(CharSequence cs) {
  29. return StringUtils.isNotBlank(cs);
  30. }
  31. public static String getIfBlank(final String str, final String defaultStr) {
  32. return isNotBlank(str) ? str : defaultStr;
  33. }
  34. public static String[] split(String str, String separatorChars) {
  35. return StringUtils.split(str, separatorChars);
  36. }
  37. public static boolean contains(CharSequence seq, CharSequence searchSeq) {
  38. return StringUtils.contains(seq, searchSeq);
  39. }
  40. public static boolean endsWith(final CharSequence str, final CharSequence suffix) {
  41. return StringUtils.endsWith(str, suffix);
  42. }
  43. public static String trim(String text) {
  44. return StringUtils.trim(text);
  45. }
  46. public static String replace(String text, String searchString, String replacement) {
  47. return StringUtils.replace(text, searchString, replacement);
  48. }
  49. public static String join(Iterable<?> iterable, String separator) {
  50. return StringUtils.join(iterable, separator);
  51. }
  52. public static String join(Object[] array, String separator) {
  53. return StringUtils.join(array, separator);
  54. }
  55. public static String substring(String str, int start) {
  56. return StringUtils.substring(str, start);
  57. }
  58. public static String substring(String str, int start, int end) {
  59. return StringUtils.substring(str, start, end);
  60. }
  61. public static int indexOf(CharSequence seq, CharSequence searchChar) {
  62. return StringUtils.indexOf(seq, searchChar);
  63. }
  64. public static int lastIndexOf(CharSequence seq, CharSequence searchChar) {
  65. return StringUtils.lastIndexOf(seq, searchChar);
  66. }
  67. public static boolean startsWith(CharSequence str, CharSequence prefix) {
  68. return StringUtils.startsWith(str, prefix);
  69. }
  70. public static String toString(Object obj) {
  71. return obj == null ? EMPTY : String.valueOf(obj);
  72. }
  73. /**
  74. * 首字母转小写
  75. *
  76. * @param s
  77. * @return
  78. */
  79. public static String toLowerCaseFirstOne(String s) {
  80. if (StringUtils.isBlank(s) || Character.isLowerCase(s.charAt(0))) {
  81. return s;
  82. }
  83. return new StringBuilder().append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
  84. }
  85. /**
  86. * Restores a byte array that is encoded as a hex string.
  87. */
  88. public static byte[] hexStringToByteArray(String hexString) {
  89. if (hexString == null) {
  90. return null;
  91. }
  92. int length = hexString.length();
  93. byte[] bytes = new byte[length / 2];
  94. for (int i = 0; i < length; i += 2) {
  95. bytes[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
  96. + Character.digit(hexString.charAt(i + 1), 16));
  97. }
  98. return bytes;
  99. }
  100. }