GZMachinesWeb/.svn/pristine/69/69cf600b83e530bc3656196d3f3...

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));
}
}