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