蛇形变量名(snake_case)速转驼峰变量名(camelCase)__Java
最近遇到当JavaBean不遵循驼峰命名规则时,使用反射赋值失败。但是我的类中属性个数非常多(一个一个改也太恼火了),因此写了个将蛇形变量名转驼峰变量名的方法,在此分享出来供大家使用。
public static void convertToCamelCase(Class<?> clazz) {
Field[] declaredFields = clazz.getDeclaredFields();
StringBuilder sb = new StringBuilder();
for (Field field : declaredFields) {
if (!field.getName().contains("_")) {
sb.append(field.getName()).append("\n");
} else {
String[] arr = field.getName().split("_");
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
sb.append(arr[i]);
} else {
sb.append(Character.toUpperCase(arr[i].charAt(0)))
.append(arr[i].substring(1));
}
}
sb.append("\n");
}
}
System.out.println(sb);
}
public class Dog {
private String dog_name;
private String dog_age;
private String dog_gender;
private String dog_live_house;
}
public static void main(String[] args) {
convertToCamelCase(Dog.class);
}
运行结果