@Test
public void camelcaseTest() {
String util = ConvertUtil.camelCaseToUnderscore("paramCheckUtil");
String str = ConvertUtil.underscoreToCamelCase("param_check_util");
System.out.println(util + ", " + str);
}
public class ConvertUtil {
private static Pattern camelPattern = Pattern.compile("[A-Z]");
private static Pattern underscorePattern = Pattern.compile("_(\w)");
/**
* 驼峰命名转下划线
* group(0) 表示匹配的全部字符串,即使正则中没有显示的括号,group(0) 也总是存在的,它相当于整个模式匹配的结果
* group(1) 表示第一个捕获组
*/
public static String camelCaseToUnderscore(String name) {
StringBuffer buffer = new StringBuffer();
Matcher matcher = camelPattern.matcher(name);
while (matcher.find()) {
String str = matcher.group(0).toLowerCase();
matcher.appendReplacement(buffer, "_" + str);
}
matcher.appendTail(buffer);
return buffer.toString();
}
/**
* 下划线转驼峰
*/
public static String underscoreToCamelCase(String name) {
StringBuffer buffer = new StringBuffer();
Matcher matcher = underscorePattern.matcher(name);
while (matcher.find()) {
// int groupCount = matcher.groupCount();
matcher.appendReplacement(buffer, matcher.group(1).toUpperCase());
}
matcher.appendTail(buffer);
return buffer.toString();
}
/**
* 对象转Map
*/
public static Map objectToMap(Object object) {
Map map = new HashMap();
Field[] declaredFields = object.getClass().getDeclaredFields();
for (Field field : declaredFields) {
field.setAccessible(true);
try {
Object obj = field.get(object);
if (Objects.nonNull(obj)) {
map.put(field.getName(), obj);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
/**
* 对象属性合并
*/
public static void merge(T source, T target) {
try {
BeanInfo beanInfo = Introspector.getBeanInfo(target.getClass());
for (PropertyDescriptor descriptor : beanInfo.getPropertyDescriptors()) {
// 属性是否有对应的 Setter 方法
if (descriptor.getWriteMethod() == null) {
continue;
}
Object value = descriptor.getReadMethod().invoke(source);
if (value != null) {
descriptor.getWriteMethod().invoke(target, value);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
本平台(www.cooy.cn)的一切软件、教程及内容信息仅限用于学习和研究,付费仅为收集整理归类费用;
不得将上述内容用于商业或者非法用途,否则一切后果用户自行承担负责。本平台资源、内容、信息均来自来自用户上传,版权争议及其他问题与本平台无关。
您必须在下载后的24个小时之内从您的电脑或手机中彻底删除上述下载内容,如果您喜欢该程序或内容,请支持正版以获取更好的服务。我们非常重视版权问题,如有侵权请发送邮件至下方邮件(655465@qq.com),敬请谅解!
如发现违法违规内容,请联系下方邮箱举报,我们收到后将会第一时间处理。
THE END
暂无评论内容