Merge remote-tracking branch 'origin/dev_fifo_z' into dev_fifo_z
commit
52b59b52f4
@ -0,0 +1,66 @@
|
||||
package com.glxp.api.util.alihealth;
|
||||
|
||||
import com.glxp.api.util.StringUtils;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
public class CopyUtils {
|
||||
// 第一个参数为空才复制
|
||||
public static String copyNullStr(String str,String strNew){
|
||||
return StringUtils.isNotEmpty(str) ? str : strNew;
|
||||
}
|
||||
public static void compatibleCopy(Map<String,Object> map, Object target) {
|
||||
try {
|
||||
|
||||
Class targetClass = target.getClass();//得到对象的Class
|
||||
Field[] targetFields = targetClass.getDeclaredFields();//得到Class对象的所有属性
|
||||
Set keySet =map.keySet(); //获取到所有值
|
||||
for(Object key : keySet ) {
|
||||
Object value = map.get(key);
|
||||
|
||||
|
||||
for (Field targetField : targetFields) {
|
||||
targetField.setAccessible(true);
|
||||
|
||||
String targetName = targetField.getName();//目标对象的属性名
|
||||
|
||||
|
||||
if (targetName.equals(snakeToCamel((String) key)) && !Objects.isNull(value)) {
|
||||
targetField.set(target, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("错误==="+e);
|
||||
|
||||
e.printStackTrace();
|
||||
// BeanUtil.copyProperties(source, target);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
public static String snakeToCamel(String snakeCase) {
|
||||
// 将字符串按下划线分割
|
||||
String[] parts = snakeCase.split("_");
|
||||
|
||||
StringBuilder camelCase = new StringBuilder();
|
||||
|
||||
for (String part : parts) {
|
||||
if (camelCase.length() == 0) {
|
||||
// 第一个单词首字母小写
|
||||
camelCase.append(part.toLowerCase());
|
||||
} else {
|
||||
// 其他单词首字母大写
|
||||
camelCase.append(part.substring(0, 1).toUpperCase())
|
||||
.append(part.substring(1).toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
return camelCase.toString();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue