记录两个小方法...自己写的,但是代码中就要删了, 就留在博客中吧

本文介绍了一种在Java中使用反射调用对象的Getter方法获取属性值的方法,并实现了一个将下划线格式字符串转换为驼峰格式的辅助函数。通过反射机制,可以动态地调用对象的Getter方法,而驼峰转换函数则能处理下划线分隔的字符串,将其转换为驼峰格式,适用于字段名和变量名的格式转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    /**
     * 反射getter方法
     *
     * @param obj
     * @param att
     * @return
     */
    private static String getter(Object obj, String att) {
        String str = camelName(att);
        // 首字母大写
        str = str.substring(0, 1).toUpperCase() + str.substring(1);
        try {
            Method met = obj.getClass().getMethod("get" + str);
            Object invoke = met.invoke(obj);
            return (String) invoke;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 下划线格式转成驼峰格式  如 brand_id --> brandId
     *
     * @param name
     * @return
     */
    private static String camelName(String name) {
        StringBuilder result = new StringBuilder();
        // 快速检查
        if (name == null || name.isEmpty()) {
            // 没必要转换
            return "";
        } else if (!name.contains("_")) {
            // 不含下划线,仅将首字母小写
            return name.substring(0, 1).toLowerCase() + name.substring(1);
        }
        // 用下划线将原始字符串分割
        String camels[] = name.split("_");
        for (String camel : camels) {
            // 跳过原始字符串中开头、结尾的下换线或双重下划线
            if (camel.isEmpty()) {
                continue;
            }
            // 处理真正的驼峰片段
            if (result.length() == 0) {
                // 第一个驼峰片段,全部字母都小写
                result.append(camel.toLowerCase());
            } else {
                // 其他的驼峰片段,首字母大写
                result.append(camel.substring(0, 1).toUpperCase());
                result.append(camel.substring(1).toLowerCase());
            }
        }
        return result.toString();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值