SmartStringUtil.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. package net.lab1024.smartadmin.util;
  2. import org.apache.commons.lang3.StringUtils;
  3. import java.util.ArrayList;
  4. import java.util.HashSet;
  5. import java.util.List;
  6. import java.util.Set;
  7. /**
  8. * 字符串操作类,包括分割,转换,大写首字母
  9. *
  10. * @author jiaozi
  11. */
  12. public class SmartStringUtil extends StringUtils {
  13. // ===============split =======================
  14. public static Set<String> splitConvertToSet(String str, String split) {
  15. if (isEmpty(str)) {
  16. return new HashSet<String>();
  17. }
  18. String[] splitArr = str.split(split);
  19. HashSet<String> set = new HashSet<String>(splitArr.length);
  20. for (String string : splitArr) {
  21. set.add(string);
  22. }
  23. return set;
  24. }
  25. public static List<String> splitConvertToList(String str, String split) {
  26. if (isEmpty(str)) {
  27. return new ArrayList<String>();
  28. }
  29. String[] splitArr = str.split(split);
  30. ArrayList<String> list = new ArrayList<String>(splitArr.length);
  31. for (String string : splitArr) {
  32. list.add(string);
  33. }
  34. return list;
  35. }
  36. // ===============split Integer=======================
  37. public static List<Integer> splitConverToIntList(String str, String split, int defaultVal) {
  38. if (isEmpty(str)) {
  39. return new ArrayList<Integer>();
  40. }
  41. String[] strArr = str.split(split);
  42. List<Integer> list = new ArrayList<Integer>(strArr.length);
  43. for (int i = 0; i < strArr.length; i++) {
  44. try {
  45. int parseInt = Integer.parseInt(strArr[i]);
  46. list.add(parseInt);
  47. } catch (NumberFormatException e) {
  48. list.add(defaultVal);
  49. continue;
  50. }
  51. }
  52. return list;
  53. }
  54. public static Set<Integer> splitConverToIntSet(String str, String split, int defaultVal) {
  55. if (isEmpty(str)) {
  56. return new HashSet<Integer>();
  57. }
  58. String[] strArr = str.split(split);
  59. HashSet<Integer> set = new HashSet<Integer>(strArr.length);
  60. for (int i = 0; i < strArr.length; i++) {
  61. try {
  62. int parseInt = Integer.parseInt(strArr[i]);
  63. set.add(parseInt);
  64. } catch (NumberFormatException e) {
  65. set.add(defaultVal);
  66. continue;
  67. }
  68. }
  69. return set;
  70. }
  71. public static Set<Integer> splitConverToIntSet(String str, String split) {
  72. return splitConverToIntSet(str, split, 0);
  73. }
  74. public static List<Integer> splitConverToIntList(String str, String split) {
  75. return splitConverToIntList(str, split, 0);
  76. }
  77. public static int[] splitConvertToIntArray(String str, String split, int defaultVal) {
  78. if (isEmpty(str)) {
  79. return new int[0];
  80. }
  81. String[] strArr = str.split(split);
  82. int[] result = new int[strArr.length];
  83. for (int i = 0; i < strArr.length; i++) {
  84. try {
  85. result[i] = Integer.parseInt(strArr[i]);
  86. } catch (NumberFormatException e) {
  87. result[i] = defaultVal;
  88. continue;
  89. }
  90. }
  91. return result;
  92. }
  93. public static int[] splitConvertToIntArray(String str, String split) {
  94. return splitConvertToIntArray(str, split, 0);
  95. }
  96. // ===============split 2 Long=======================
  97. public static List<Long> splitConverToLongList(String str, String split, long defaultVal) {
  98. if (isEmpty(str)) {
  99. return new ArrayList<Long>();
  100. }
  101. String[] strArr = str.split(split);
  102. List<Long> list = new ArrayList<Long>(strArr.length);
  103. for (int i = 0; i < strArr.length; i++) {
  104. try {
  105. long parseLong = Long.parseLong(strArr[i]);
  106. list.add(parseLong);
  107. } catch (NumberFormatException e) {
  108. list.add(defaultVal);
  109. continue;
  110. }
  111. }
  112. return list;
  113. }
  114. public static List<Long> splitConverToLongList(String str, String split) {
  115. return splitConverToLongList(str, split, 0L);
  116. }
  117. public static long[] splitConvertToLongArray(String str, String split, long defaultVal) {
  118. if (isEmpty(str)) {
  119. return new long[0];
  120. }
  121. String[] strArr = str.split(split);
  122. long[] result = new long[strArr.length];
  123. for (int i = 0; i < strArr.length; i++) {
  124. try {
  125. result[i] = Long.parseLong(strArr[i]);
  126. } catch (NumberFormatException e) {
  127. result[i] = defaultVal;
  128. continue;
  129. }
  130. }
  131. return result;
  132. }
  133. public static long[] splitConvertToLongArray(String str, String split) {
  134. return splitConvertToLongArray(str, split, 0L);
  135. }
  136. // ===============split convert byte=======================
  137. public static List<Byte> splitConverToByteList(String str, String split, byte defaultVal) {
  138. if (isEmpty(str)) {
  139. return new ArrayList<Byte>();
  140. }
  141. String[] strArr = str.split(split);
  142. List<Byte> list = new ArrayList<Byte>(strArr.length);
  143. for (int i = 0; i < strArr.length; i++) {
  144. try {
  145. byte parseByte = Byte.parseByte(strArr[i]);
  146. list.add(parseByte);
  147. } catch (NumberFormatException e) {
  148. list.add(defaultVal);
  149. continue;
  150. }
  151. }
  152. return list;
  153. }
  154. public static List<Byte> splitConverToByteList(String str, String split) {
  155. return splitConverToByteList(str, split, (byte) 0);
  156. }
  157. public static byte[] splitConvertToByteArray(String str, String split, byte defaultVal) {
  158. if (isEmpty(str)) {
  159. return new byte[0];
  160. }
  161. String[] strArr = str.split(split);
  162. byte[] result = new byte[strArr.length];
  163. for (int i = 0; i < strArr.length; i++) {
  164. try {
  165. result[i] = Byte.parseByte(strArr[i]);
  166. } catch (NumberFormatException e) {
  167. result[i] = defaultVal;
  168. continue;
  169. }
  170. }
  171. return result;
  172. }
  173. public static byte[] splitConvertToByteArray(String str, String split) {
  174. return splitConvertToByteArray(str, split, (byte) 0);
  175. }
  176. // ===============split convert double=======================
  177. public static List<Double> splitConverToDoubleList(String str, String split, double defaultVal) {
  178. if (isEmpty(str)) {
  179. return new ArrayList<Double>();
  180. }
  181. String[] strArr = str.split(split);
  182. List<Double> list = new ArrayList<Double>(strArr.length);
  183. for (int i = 0; i < strArr.length; i++) {
  184. try {
  185. double parseByte = Double.parseDouble(strArr[i]);
  186. list.add(parseByte);
  187. } catch (NumberFormatException e) {
  188. list.add(defaultVal);
  189. continue;
  190. }
  191. }
  192. return list;
  193. }
  194. public static List<Double> splitConverToDoubleList(String str, String split) {
  195. return splitConverToDoubleList(str, split, 0);
  196. }
  197. public static double[] splitConvertToDoubleArray(String str, String split, double defaultVal) {
  198. if (isEmpty(str)) {
  199. return new double[0];
  200. }
  201. String[] strArr = str.split(split);
  202. double[] result = new double[strArr.length];
  203. for (int i = 0; i < strArr.length; i++) {
  204. try {
  205. result[i] = Double.parseDouble(strArr[i]);
  206. } catch (NumberFormatException e) {
  207. result[i] = defaultVal;
  208. continue;
  209. }
  210. }
  211. return result;
  212. }
  213. public static double[] splitConvertToDoubleArray(String str, String split) {
  214. return splitConvertToDoubleArray(str, split, 0);
  215. }
  216. // ===============solit convert float=======================
  217. public static List<Float> splitConverToFloatList(String str, String split, float defaultVal) {
  218. if (isEmpty(str)) {
  219. return new ArrayList<Float>();
  220. }
  221. String[] strArr = str.split(split);
  222. List<Float> list = new ArrayList<Float>(strArr.length);
  223. for (int i = 0; i < strArr.length; i++) {
  224. try {
  225. float parseByte = Float.parseFloat(strArr[i]);
  226. list.add(parseByte);
  227. } catch (NumberFormatException e) {
  228. list.add(defaultVal);
  229. continue;
  230. }
  231. }
  232. return list;
  233. }
  234. public static List<Float> splitConverToFloatList(String str, String split) {
  235. return splitConverToFloatList(str, split, 0f);
  236. }
  237. public static float[] splitConvertToFloatArray(String str, String split, float defaultVal) {
  238. if (isEmpty(str)) {
  239. return new float[0];
  240. }
  241. String[] strArr = str.split(split);
  242. float[] result = new float[strArr.length];
  243. for (int i = 0; i < strArr.length; i++) {
  244. try {
  245. result[i] = Float.parseFloat(strArr[i]);
  246. } catch (NumberFormatException e) {
  247. result[i] = defaultVal;
  248. continue;
  249. }
  250. }
  251. return result;
  252. }
  253. public static float[] splitConvertToFloatArray(String str, String split) {
  254. return splitConvertToFloatArray(str, split, 0f);
  255. }
  256. // ===============upperCase=======================
  257. /**
  258. * 将首字母大写
  259. *
  260. * @param str
  261. * @return
  262. */
  263. public static String upperCaseFirstChar(String str) {
  264. if (str == null || str.isEmpty()) {
  265. return str;
  266. }
  267. char firstChar = str.charAt(0);
  268. if (Character.isUpperCase(firstChar)) {
  269. return str;
  270. }
  271. char[] values = str.toCharArray();
  272. values[0] = Character.toUpperCase(firstChar);
  273. return new String(values);
  274. }
  275. }