蛇形变量名(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);
}

运行结果

 
posted @ 2024-05-08 11:28  Ashe|||^_^  阅读(123)  评论(0编辑  收藏  举报