美文网首页
java 根据类和字段名获取getter的Function

java 根据类和字段名获取getter的Function

作者: 饱饱抓住了灵感 | 来源:发表于2025-05-05 17:39 被阅读0次
public <T> SFunction<T, ?> getterFunction(Class<T> clazz, String field) {
        Method[] methods = clazz.getMethods();
        Method targetMethod = null;
        for (Method method : methods) {
            if (field.startsWith("is") && StringUtils.equals(method.getName(), field)) {
                targetMethod = method;
                break;
            } else if (StringUtils.equalsIgnoreCase(method.getName(), "get" + field)) {
                targetMethod = method;
                break;
            }
        }

        Class<?> returnType = targetMethod.getReturnType();

        // 创建一个Function,该方法通过反射调用上述方法
        Method finalTargetMethod = targetMethod;
        SFunction<T, ?> function = input -> {
            try {
                return finalTargetMethod.invoke(input); // 注意:这里需要确保input是合适的类型,例如String类型对于length()方法。
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        };
        return function;
    }

相关文章

  • es6解读4:类

    类的基本定义和生成实例: class 类的继承: extends 类中的getter和setter 分别用来获取属...

  • 第九讲 类

    和java类似,scala也有类,而且概念相同不再赘述。 本章要点 定义类 getter和setter 对象私有属...

  • 浅谈kotlin和java的不同之处

    kotlin的数据类代替java的setter和getter写法。kotlin中的object代替java中的单例...

  • kotlin中setter和getter

    Java中getter和setter方法 在Java中,无论是数据模型类(JavaBean[https://so....

  • 2019-02-23 实体类转字典

    // 设置Dictionary 得到实体类的字段名称和值 //反过来根据Dictionary来设置实体类

  • Kotlin调用Java

    一、属性 Kotlin调用属性实际上就是访问getter、setter方法,Java类只要提供了getter方法,...

  • 【Poco笔记】根据名字动态生成类对象实例

    高级语言里如java有反射,可以根据类名动态生成类实例;也可以动态获取类成员变量和函数。 Poco里是否有类似功能...

  • Java反射 概述

    反射允许程序在运行期间根据反射API获取任意类的内部信息,及操作类的属性和方法; Java类在加载完成之后,在堆内...

  • JDBC的DAO设计模式

    在javaEE中,java类的属性通过getter和setter来定义,get(或set)方法去除get(set)...

  • Java基础面试题-2

    创建Hibernate持久化对象需要注意的事项实体类是个简单Java类,拥有私有属性和setter/getter方...

网友评论

      本文标题:java 根据类和字段名获取getter的Function

      本文链接:https://www.haomeiwen.com/subject/vxprijtx.html