diff --git a/build.gradle b/build.gradle index 8a5b78a..480458b 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ buildscript { jcenter() } dependencies { - classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2" + classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6" classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1" classpath 'com.netflix.nebula:gradle-extra-configurations-plugin:3.0.3' } diff --git a/src/main/java/cn/wujc/util/StringUtils.java b/src/main/java/cn/wujc/util/StringUtils.java index 9a5e23a..6c74136 100644 --- a/src/main/java/cn/wujc/util/StringUtils.java +++ b/src/main/java/cn/wujc/util/StringUtils.java @@ -27,7 +27,7 @@ public static Object stringToObject(String str, Class clz) { if (Date.class.isAssignableFrom(clz)) { try { str = str.trim(); - if(str.length() == 10){ + if (str.length() == 10) { return new SimpleDateFormat("yyyy-MM-dd").parse(str); } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str); @@ -41,4 +41,30 @@ public static Object stringToObject(String str, Class clz) { public static String defaultIfBlank(final String str, final String defaultStr) { return StringUtils.isBlank(str) ? defaultStr : str; } + + /** + * 将字符串转换为驼峰形式,例如 is_boy转换为isBoy + * + * @param value 要转换的字符串 + * @param startWithLowerCase 转换后的字符串是否以小写开始 + * @return + */ + public static String camelize(String value, boolean startWithLowerCase) { + String[] strings = split(value.toLowerCase(), "_"); + for (int i = startWithLowerCase ? 1 : 0; i < strings.length; i++) { + strings[i] = capitalize(strings[i]); + } + return StringUtils.join(strings); + } + + /** + * 根据单词数分割字符串 abcd,按照2个单词分割为[ab,cd],按照3个单词分割为[abc,d] + * + * @param wordsCount 每几个单词进行分割 + * @return + */ + public static String[] split(String str, int wordsCount) { + String regex = "(?<=\\G\\w{" + wordsCount + "})"; + return str.split(regex); + } }