StringUtil String工具类常用方法集合
来源:互联网 发布:音悦台 for mac 编辑:程序博客网 时间:2024/05/22 09:43
记录日常常用String操作方法,记录一下,方便以后自己和大家参考使用
/**
* 数组是否包含指定的元素
*
* @param fields
* ,名称
* @param name
* ,元素
* @return boolean, yes or no
*/
/** * 数组是否包含指定的元素 * * @param fields * ,名称 * @param name * ,元素 * @return boolean, yes or no */public static boolean contains(String[] fields, String name) { if (getIndex(fields, name) == -1) { return false; } return true; }
/**
* 在数组中查找指定的串,如果找到,则返回索引,否则返回-1
*
* @param name
* ,索引名称
* @return int, 索引号 不成功返回 -1
*/
/** * 在数组中查找指定的串,如果找到,则返回索引,否则返回-1 * * @param name * ,索引名称 * @return int, 索引号 不成功返回 -1 */ public static int getIndex(String[] fields, String name) { if ((fields == null) || (name == null)) { return -1; } for (int i = 0; i < fields.length; i++) { if (name.equalsIgnoreCase(fields[i])) { return i; } } return -1; }
/**
* 将普通文本字符串过滤成含 < br>
* 的超文本字串
*
* @param src
* , 输入源串
* @return String, 返回过滤结果
*/
/** * 将普通文本字符串过滤成含 < br> * 的超文本字串 * * @param src * , 输入源串 * @return String, 返回过滤结果 */ public static String strFilter(String src) { String ret = src.replaceAll("<", "<"); ret = ret.replaceAll(">", ">"); ret = ret.replaceAll("<", "<"); ret = ret.replaceAll("\r\n", "<br>"); return ret; }
/**
* 将DATE转换为String类型 format “yyyy-MM-dd”
*
* @param date
* @return
*/
/** * 将DATE转换为String类型 format "yyyy-MM-dd" * * @param date * @return */ public static String dateToString(java.sql.Date date) { java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); String s = ""; if (date != null) { s = format.format(date); } return s; }
/**
* 将DATE转换为String类型 format 自定义 如 “yyyy-MM-dd hh:mm:ss”
*
* @param date
* @return
*/
/** * 将DATE转换为String类型 format 自定义 如 "yyyy-MM-dd hh:mm:ss" * * @param date * @return */ public static String dateToString(java.sql.Date date, String formatType) { java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(formatType); String s = ""; if (date != null) { s = format.format(date); } return s; }
/**
* 替换空字符串
*
* @param sStr
* @return
*/
/** * 替换空字符串 * * @param sStr * @return */ public static String nullToSpace(String sStr) { return sStr == null ? "" : sStr; } public static String nullToSpace(Object sStr) { return sStr == null ? "" : String.valueOf(sStr); }
/**
* 判断对象是否为空
* 1,字符串(null或者”“)都返回true
* 2,数字类型(null或者0)都返回true
* 3,集合类型(null或者不包含元素都返回true)
* 4,数组类型不包含元素返回true(包含null元素返回false)
* 5,其他对象仅null返回true
*
* @param obj
* @return
*/
/** * 判断对象是否为空<br> * 1,字符串(null或者"")都返回true<br> * 2,数字类型(null或者0)都返回true<br> * 3,集合类型(null或者不包含元素都返回true)<br> * 4,数组类型不包含元素返回true(包含null元素返回false)<br> * 5,其他对象仅null返回true * * @param obj * @return */ public static boolean isEmpty(Object obj) { if (obj == null) { return true; } if (obj instanceof Number) { Number num = (Number) obj; if (num.intValue() == 0) { return true; } else { return false; } } else if (obj instanceof String) { String str = (String) obj; if ((str == null) || str.equals("")) { return true; } else { return false; } } else if (obj instanceof Collection<?>) { Collection<?> c = (Collection<?>) obj; return c.isEmpty(); } else if (obj instanceof Map<?, ?>) { Map<?, ?> m = (Map<?, ?>) obj; return m.isEmpty(); } else if (obj.getClass().isArray()) { int length = Array.getLength(obj); return length == 0 ? true : false; } else { return false; } }
/**
* 将list转换成string 替换掉里面的所有空格和 [] 可用于 sql语句中的 in 里面
*
* @param list
* @return
*/
/** * 将list转换成string 替换掉里面的所有空格和 [] 可用于 sql语句中的 in 里面 * * @param list * @return */ public static String listToString(List list) { String rtn = list.toString(); rtn = rtn.replaceAll("\\[", ""); rtn = rtn.replaceAll("\\]", ""); rtn = rtn.replaceAll(" ", ""); return rtn; }
/**
* 得到当前日期 yyyy-MM-dd
*
* @return
*/
/** * 得到当前日期 yyyy-MM-dd * * @return */ public static String getNowDate() { java.util.Date date = new java.util.Date(); String s = dateToString(date); return s; }
/**
* 判断日期类型
*
* @param strDate
* 成功返回date类型,失败返回null
* @return
*/
/** * 判断日期类型 * * @param strDate * 成功返回date类型,失败返回null * @return */ public static java.util.Date isDate(String strDate) { java.util.Date returnDate = null; try { DateFormat df = DateFormat.getDateInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String cDate = sdf.format(df.parse(strDate)).toString(); returnDate = df.parse(cDate); } catch (Exception e) { return null; } return returnDate; }
/**
* 字符编码自定义转换类型
*
* @param str
* @param fEncode
* @param tEncode
* @return
*/
/** * 字符编码自定义转换类型 * * @param str * @param fEncode * @param tEncode * @return */ public static String convertEncode(String str, String fEncode, String tEncode) { if (str == null) { return str; } else { try { return new String(str.getBytes(fEncode), tEncode); } catch (Exception e) { e.printStackTrace(); return null; } } }
/**
* 转换GBK 到 utf-8
*
* @param str
* @return
*/
/** * 转换GBK 到 utf-8 * * @param str * @return */ public static String cGBK2UTF8(String str) { if (str == null) { return str; } else { try { /* * 如果 页面为UTF-8的页面 但是用GBK进行编码了 将已经遍成为GBK的按照GBK取出成BYTE 转换为原始页面的编码 */ return new String(str.getBytes("GBK"), "UTF-8"); } catch (Exception e) { // System.out.println("PubUnit.ConverttoGBK:" + e.toString()); e.printStackTrace(); return null; } } }
/**
* 转换ISO8859-1 到 GB2312
*
* @param str
* @return
*/
/** * 转换ISO8859-1 到 GB2312 * * @param str * @return */ public static String cISO2GB2312(String str) { if (str == null) { return str; } else { try { return new String(str.getBytes("ISO-8859-1"), "gb2312"); } catch (Exception e) { System.out.println("PubUnit.ConverttoGBK:" + e.toString()); return null; } } }
/**
* 求a1 a2数组的交集
*
* @param a1
* @param a2
* @return 返回交集数组
*/
/** * 求a1 a2数组的交集 * * @param a1 * @param a2 * @return 返回交集数组 */ public static String[] arrayIntersection(String[] a1, String[] a2) { List<String> list = Arrays.asList(a1); list.retainAll(Arrays.asList(a2)); // list 中的就是交集了. return list.toArray(new String[0]); }
/**
* union all 将两个StringArray 组合成一个StringArray
*
* @param a1
* @param a2
* @return
*/
/** * union all 将两个StringArray 组合成一个StringArray * * @param a1 * @param a2 * @return */ public static String[] arrayUnionAll(String[] a1, String[] a2) { String[] a3 = new String[a1.length + a2.length]; System.arraycopy(a1, 0, a3, 0, a1.length); System.arraycopy(a2, 0, a3, a1.length, a2.length); return a3; }
/**
* 将两个StringArray求 并集
*
* @param a
* @return
*/
/** * 将两个StringArray求 并集 * * @param a * @return */ public static String[] arrayUnion(String[] a1, String[] a2) { String[] a3 = arrayUnionAll(a1, a2); HashSet set = new HashSet(); set.addAll(Arrays.asList(a3)); String[] strs2 = (String[]) set.toArray(new String[0]); return strs2; }
/**
* 从 字符串数组1 中移除包含在指定 字符串数组2 中的所有元素
*
* @param a1
* @param a2
* @return
*/
/** * 从 a1 中移除包含在指定 a2 中的所有元素 * * @param a1 * @param a2 * @return */ public static String[] removeAll(String[] a1, String[] a2) { List<String> list = Arrays.asList(a1); list.removeAll(Arrays.asList(a2)); // list 中的就是交集了. return list.toArray(new String[0]); }
/**
* 限制字符串长度 截取前charCount个汉字 英文占两个字符
*
* @param bt
* @param bytesCount
* @return
*/
/** * 限制字符长度 截取前charCount个汉字 英文占两个字符 * * @param bt * @param bytesCount * @return */ public static String limitChar(String str, int charCount) { int bytesCount = charCount * 2; byte[] bytes = str.getBytes(); if (bytesCount >= bytes.length) { return str; } char[] chars = new String(bytes, 0, bytesCount).toCharArray(); char[] charsPlus = new String(bytes, 0, bytesCount + 1).toCharArray(); if (chars.length == charsPlus.length) { return new String( bytes,0,bytesCount - 1); } return new String(bytes, 0, bytesCount); }
/**
* 将字符串转换为整数 如果转换失败返回0
*
* @param str
* @return
*/
/** * 将字符串转换为整数 如果转换失败返回0 * * @param str * @return */ public static final int getInt(String str) { return getInt(str, 0); }
/**
* 将中文字符转换为简拼
*
* @param c
* @return
*/
/** * 将中文字符转换为简拼 * * @param c * @return */ public static String toJP(String c) { char[] chars = c.toCharArray(); StringBuffer sb = new StringBuffer(""); for (int i = 0; i < chars.length; i++) { sb.append(getJP(chars[i])); } // return sb.toString().toUpperCase(); return sb.toString(); } public static String getJP(char c) { byte[] array = new byte[2]; array = String.valueOf(c).getBytes(); if (array.length < 2) { return String.valueOf(c); } int i = (short) (array[0] - '\0' + 256) * 256 + (short) (array[1] - '\0' + 256); if (i < 0xB0A1) { return String.valueOf(c); } if (i < 0xB0C5) { return "a"; } if (i < 0xB2C1) { return "b"; } if (i < 0xB4EE) { return "c"; } if (i < 0xB6EA) { return "d"; } if (i < 0xB7A2) { return "e"; } if (i < 0xB8C1) { return "f"; } if (i < 0xB9FE) { return "g"; } if (i < 0xBBF7) { return "h"; } if (i < 0xBFA6) { return "j"; } if (i < 0xC0AC) { return "k"; } if (i < 0xC2E8) { return "l"; } if (i < 0xC4C3) { return "m"; } if (i < 0xC5B6) { return "n"; } if (i < 0xC5BE) { return "o"; } if (i < 0xC6DA) { return "p"; } if (i < 0xC8BB) { return "q"; } if (i < 0xC8F6) { return "r"; } if (i < 0xCBFA) { return "s"; } if (i < 0xCDDA) { return "t"; } if (i < 0xCEF4) { return "w"; } if (i < 0xD1B9) { return "x"; } if (i < 0xD4D1) { return "y"; } if (i < 0xD7FA) { return "z"; } return String.valueOf(c); }
/**
* 将字符串数组转换成字符串,以”,”分隔
*
* @param str
* , 输入串
* @return 串数组
*/
public final static String arrayToString(String[] arrays) {
return arrayToString(arrays, false);
}
/** * 将字符串数组转换成字符串,以","分隔 * * @param str * , 输入串 * @return 串数组 */ public final static String arrayToString(String[] arrays) { return arrayToString(arrays, false); }
/**
* 转换字符串首字母为大写
*
* @param str
* @return
*/
/** * 转换字符串首字母为大写 * * @param str * @return */ public final static String firstCharToUpper(String str) { char c = str.charAt(0); if (!Character.isLetter(c)) { return str; } else if (Character.isUpperCase(c)) { return str; } else if (Character.isLowerCase(c)) { return (char) (c - 32) + str.substring(1); } else { return str; } }
/**
* 将小写金额转换为大写
*
* @param amount
* 110.00
* @return 壹佰壹拾圆整
*/
/** * 将小写金额转换为大写 * * @param amount * 110.00 * @return 壹佰壹拾圆整 */ public static String amountToUpper(String amount) throws Exception { // String[] lowerAmount = { "0", "1", "2", "3", "4", "5", "6", "7", "8", // "9" }; String[] upperAmount = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; String[] unit = { "分", "角", "圆", "拾", "佰", "仟", "萬", "亿" }; String wholeUnit = "整"; StringBuffer result = new StringBuffer(); if (StringUtil.isEmpty(amount)) { return ""; } // 为0 if (Double.valueOf(amount) == 0) { return upperAmount[0]; } // 去掉开头和结尾的0 amount = amount.replaceAll("^0*", ""); if (amount.startsWith(".")) { amount = "0" + amount; } if (amount.indexOf(".") > -1) { amount = amount.replaceAll("0*$|\\.0{1,2}$", ""); } // 判断格式 Pattern p = Pattern.compile("\\d{1,12}(\\.\\d{1,2})?"); Matcher m = p.matcher(amount); if (!m.matches()) { throw new Exception("金额格式不正确! "); } // 分成整数和小数分别读 String whole = ""; String integral = ""; if (amount.indexOf(".") > -1) { whole = amount.split("\\.")[0]; integral = amount.split("\\.")[1]; } else { whole = amount; } // 整数读法 StringBuffer sceAmount = new StringBuffer(whole); if (sceAmount.length() > 4) { // 每4位用逗号分隔 int count = sceAmount.length() / 4; for (int i = 0; i <= count; i++) { if (i == 1) { sceAmount.insert(sceAmount.length() - 4 * i, ","); } else if (i > 1) { sceAmount.insert(sceAmount.length() - 4 * i - 1, ","); } } } String[] sce = sceAmount.toString().split(","); for (int i = sce.length - 1; i >= 0; i--) { // 每4位循环读 StringBuffer oneComma = new StringBuffer(); if (Pattern.compile("\\d{1,4}").matcher(sce[i]).matches()) { if (Pattern.compile("[1-9]{4}").matcher(sce[i]).matches()) { // 不含有0 int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[t]) .append(unit[5]) .append(upperAmount[h]) .append(unit[4]) .append(upperAmount[d]) .append(unit[3]) .append(upperAmount[e]); } else if (Pattern .compile("0{1}[1-9]{1}0{1}[1-9]{1}") .matcher(sce[i]) .matches()) { int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[0]) .append(upperAmount[h]) .append(unit[4]) .append(upperAmount[0]) .append(upperAmount[e]); } else if (Pattern .compile("0{1,3}[1-9]{1}") .matcher(sce[i]) .matches()) { int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[0]).append(upperAmount[e]); } else if (Pattern .compile("0{1,2}[1-9]{1}0{1}") .matcher(sce[i]) .matches()) { int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 oneComma.append(upperAmount[0]) .append(upperAmount[d]) .append(unit[3]); } else if (Pattern .compile("0{1}[1-9]{1}0{2}") .matcher(sce[i]) .matches()) { int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 oneComma.append(upperAmount[0]) .append(upperAmount[h]) .append(unit[4]); } else if (Pattern .compile("[1-9]{1}0{3}") .matcher(sce[i]) .matches()) { int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 oneComma.append(upperAmount[t]).append(unit[5]); } else if (Pattern .compile("[1-9]{2}0{2}") .matcher(sce[i]) .matches()) { int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 oneComma.append(upperAmount[t]) .append(unit[5]) .append(upperAmount[h]) .append(unit[4]); } else if (Pattern .compile("[1-9]{1}0{1}[1-9]{1}0{1}") .matcher(sce[i]) .matches()) { int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 oneComma.append(upperAmount[t]) .append(unit[5]) .append(upperAmount[0]) .append(upperAmount[d]) .append(unit[3]); } else if (Pattern .compile("[1-9]{1}0{2}[1-9]{1}") .matcher(sce[i]) .matches()) { int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[t]) .append(unit[5]) .append(upperAmount[0]) .append(upperAmount[e]); } else if (Pattern .compile("0{1}[1-9]{2}0{1}") .matcher(sce[i]) .matches()) { int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 oneComma.append(upperAmount[0]) .append(upperAmount[h]) .append(unit[4]) .append(upperAmount[d]) .append(unit[3]); } else if (Pattern .compile("0{1,2}[1-9]{2}") .matcher(sce[i]) .matches()) { int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[0]) .append(upperAmount[d]) .append(unit[3]) .append(upperAmount[e]); } else if (Pattern .compile("[1-9]{3}0{1}") .matcher(sce[i]) .matches()) { int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 oneComma.append(upperAmount[t]) .append(unit[5]) .append(upperAmount[h]) .append(unit[4]) .append(upperAmount[d]) .append(unit[3]); } else if (Pattern .compile("[1-9]{2}0{1}[1-9]{1}") .matcher(sce[i]) .matches()) { int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[t]) .append(unit[5]) .append(upperAmount[h]) .append(unit[4]) .append(upperAmount[0]) .append(upperAmount[e]); } else if (Pattern .compile("0{1}[1-9]{3}") .matcher(sce[i]) .matches()) { // 四位 int h = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 百位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[0]) .append(upperAmount[h]) .append(unit[4]) .append(upperAmount[d]) .append(unit[3]) .append(upperAmount[e]); } else if (Pattern .compile("[1-9]{1}0{1}[1-9]{2}") .matcher(sce[i]) .matches()) { int t = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 千位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 十位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(3))); // 个位 oneComma.append(upperAmount[t]) .append(unit[5]) .append(upperAmount[0]) .append(upperAmount[d]) .append(unit[3]) .append(upperAmount[e]); } else if (Pattern .compile("[1-9]{3}") .matcher(sce[i]) .matches()) { // 三位 int h = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 百位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 十位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 个位 oneComma.append(upperAmount[h]) .append(unit[4]) .append(upperAmount[d]) .append(unit[3]) .append(upperAmount[e]); } else if (Pattern .compile("[1-9]{1}0{2}") .matcher(sce[i]) .matches()) { // 三位 int h = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 百位 oneComma.append(upperAmount[h]).append(unit[4]); } else if (Pattern .compile("[1-9]{1}0{1}[1-9]{1}") .matcher(sce[i]) .matches()) { int h = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 百位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(2))); // 个位 oneComma.append(upperAmount[h]) .append(unit[4]) .append(upperAmount[0]) .append(upperAmount[e]); } else if (Pattern .compile("[1-9]{2}0{1}") .matcher(sce[i]) .matches()) { int h = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 百位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 十位 oneComma.append(upperAmount[h]) .append(unit[4]) .append(upperAmount[d]) .append(unit[3]); } else if (Pattern .compile("[1-9]{1}") .matcher(sce[i]) .matches()) { int e = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 个位 oneComma.append(upperAmount[e]); } else if (Pattern .compile("[1-9]{2}") .matcher(sce[i]) .matches()) { // 两位 int d = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 十位 int e = Integer.valueOf(String.valueOf(sce[i].charAt(1))); // 个位 oneComma.append(upperAmount[d]) .append(unit[3]) .append(upperAmount[e]); } else if (Pattern .compile("[1-9]{1}0{1}") .matcher(sce[i]) .matches()) { int d = Integer.valueOf(String.valueOf(sce[i].charAt(0))); // 十位 oneComma.append(upperAmount[d]).append(unit[3]); } } if (sce.length == 3) { if (i == 2) { result.insert(0, oneComma.toString()).append(unit[2]); } else if (i == 1) {// 有一个逗号(包含万位单位) oneComma.append(unit[6]); result.insert(0, oneComma.toString()); } else if (i == 0) { // 有两个逗号(包含亿位单位) oneComma.append(unit[7]); result.insert(0, oneComma.toString()); } } else if (sce.length == 2) { if (i == 1) { result.insert(0, oneComma.toString()).append(unit[2]); } else if (i == 0) {// 有一个逗号(包含万位单位) oneComma.append(unit[6]); result.insert(0, oneComma.toString()); } } else if (sce.length == 1) {// 没有逗号,最大单位为千 result.insert(0, oneComma.toString()).append(unit[2]); } } // 小数读法 if (integral.length() == 1) { // 只带角 result .append(upperAmount[0]) .append(upperAmount[Integer.valueOf(integral)]) .append(unit[1]); } else if (integral.length() == 2) { if (!integral.startsWith("0")) {// 有角有分 result .append(upperAmount[0]) .append(upperAmount[Integer.valueOf(String.valueOf(integral.charAt(0)))]) .append(unit[1]) .append(upperAmount[Integer.valueOf(String.valueOf(integral.charAt(1)))]) .append(unit[0]); } else {// 只有分 result .append(upperAmount[0]) .append(upperAmount[Integer.valueOf(String.valueOf(integral.charAt(1)))]) .append(unit[0]); } } else if (integral.equals("")) { result.append(wholeUnit); } return result.toString(); }
- StringUtil String工具类常用方法集合
- StringUtil工具类的常用方法
- StringUtil(java String工具类)
- org.apache.commons.lang.StringUtil(StringUtil工具类的常用方法)
- StringUtil类的常用方法
- StringUtil类的常用方法
- StringUtil类的常用方法
- StringUtil常用方法
- Flex StringUtil工具类
- java StringUtil 工具类
- 工具类StringUtil.java
- StringUtil工具类
- 工具类StringUtil
- StringUtil工具类
- StringUtil工具类
- StringUtil工具类
- StringUtil 字符串工具类
- java StringUtil 工具类
- http请求 302解决方法
- TextView设置行间距
- 天池历届大赛答辩PPT及视频
- Clion、IDEA、PhpStorm、WebStorm 注册 不过期,自动更新
- iOS 集成一网通支付的坑
- StringUtil String工具类常用方法集合
- MKL链接选项问题
- bytes转为GB、MB、KB格式(使用BigDecimal)
- 关于Java并发编程的总结和思考
- 2017世界云计算日·中国站
- Java IO流学习总结
- 机器学习基础--最大似然估计
- js 时间类型的转化
- JavaScript判断浏览器种类