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