135 lines
3.6 KiB
Plaintext
135 lines
3.6 KiB
Plaintext
/*
|
|
* COPYRIGHT. ShenZhen JiMi Technology Co., Ltd. 2017.
|
|
* ALL RIGHTS RESERVED.
|
|
*
|
|
* No part of this publication may be reproduced, stored in a retrieval system, or transmitted,
|
|
* on any form or by any means, electronic, mechanical, photocopying, recording,
|
|
* or otherwise, without the prior written permission of ShenZhen JiMi Network Technology Co., Ltd.
|
|
*
|
|
* Amendment History:
|
|
*
|
|
* Date By Description
|
|
* ------------------- ----------- -------------------------------------------
|
|
* 2017年4月5日 yaojianping Create the class
|
|
* http://www.jimilab.com/
|
|
*/
|
|
|
|
package com.bonus.data;
|
|
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
|
|
/**
|
|
* @FileName StringUtil.java
|
|
* @Description:
|
|
*
|
|
* @Date 2017年4月5日 下午5:36:34
|
|
* @author yaojianping
|
|
* @version 1.0
|
|
*/
|
|
public final class StringUtil {
|
|
|
|
public static boolean areNotEmpty(String... values) {
|
|
boolean result = true;
|
|
if ((values == null) || (values.length == 0))
|
|
result = false;
|
|
else {
|
|
for (String value : values) {
|
|
result &= !isEmpty(value);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static boolean isEmpty(String value) {
|
|
int strLen;
|
|
if ((value == null) || ((strLen = value.length()) == 0))
|
|
return true;
|
|
for (int i = 0; i < strLen; i++) {
|
|
if (!Character.isWhitespace(value.charAt(i))) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public static final char UNDERLINE = '_';
|
|
|
|
/**
|
|
* 驼峰格式字符串转换为下划线格式字符串
|
|
*
|
|
* @param param
|
|
* @return
|
|
*/
|
|
public static String camelToUnderline(String param) {
|
|
if (param == null || "".equals(param.trim())) {
|
|
return "";
|
|
}
|
|
int len = param.length();
|
|
StringBuilder sb = new StringBuilder(len);
|
|
for (int i = 0; i < len; i++) {
|
|
char c = param.charAt(i);
|
|
if (Character.isUpperCase(c)) {
|
|
sb.append(UNDERLINE);
|
|
sb.append(Character.toLowerCase(c));
|
|
} else {
|
|
sb.append(c);
|
|
}
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
/**
|
|
* 下划线格式字符串转换为驼峰格式字符串
|
|
*
|
|
* @param param
|
|
* @return
|
|
*/
|
|
public static String underlineToCamel(String param) {
|
|
if (param == null || "".equals(param.trim())) {
|
|
return "";
|
|
}
|
|
int len = param.length();
|
|
StringBuilder sb = new StringBuilder(len);
|
|
for (int i = 0; i < len; i++) {
|
|
char c = param.charAt(i);
|
|
if (c == UNDERLINE) {
|
|
if (++i < len) {
|
|
sb.append(Character.toUpperCase(param.charAt(i)));
|
|
}
|
|
} else {
|
|
sb.append(c);
|
|
}
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
/**
|
|
* 下划线格式字符串转换为驼峰格式字符串2
|
|
*
|
|
* @param param
|
|
* @return
|
|
*/
|
|
public static String underlineToCamel2(String param) {
|
|
if (param == null || "".equals(param.trim())) {
|
|
return "";
|
|
}
|
|
StringBuilder sb = new StringBuilder(param);
|
|
Matcher mc = Pattern.compile("_").matcher(param);
|
|
int i = 0;
|
|
while (mc.find()) {
|
|
int position = mc.end() - (i++);
|
|
sb.replace(position - 1, position + 1, sb.substring(position, position + 1).toUpperCase());
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
String aaa = "app_version_fld";
|
|
System.out.println(underlineToCamel(aaa));
|
|
System.out.println(underlineToCamel2(aaa));
|
|
aaa = "appVersionFld";
|
|
System.out.println(camelToUnderline(aaa));
|
|
|
|
}
|
|
} |