美文网首页
java反射-第3篇

java反射-第3篇

作者: 松松木tell | 来源:发表于2019-01-04 14:05 被阅读0次

例子

通过反射动态给对象赋值

   @Test
    public void testd() throws Exception {
        Map<Object, Object> map = new HashMap<>();
        map.put("name", "张三");
        map.put("age", 18);
        User user = new User();
        reflectValue(map, user);
        System.out.println(user.toString());
    }
     //通过反射动态给对象赋值
    public Object reflectValue(Map<Object, Object> map, Object bean) throws Exception {
        Class<?> cls = bean.getClass();
        Method[] methods = cls.getDeclaredMethods();//获取该类所有的方法
        Field[] fields = cls.getDeclaredFields();//获取该类所有的属性
        for (Field field : fields) {
            String fieldName = field.getName();
            Object value = map.get(fieldName);
            if (value == null) {
                continue;
            }
            String setMethod = "set" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
            if (!checkMethod(setMethod, methods)) {
                continue;
            }
            Method method = cls.getMethod(setMethod, field.getType());
            method.setAccessible(true);//关闭安全检查
            method.invoke(bean, value);
        }
        return bean;
    }
     //检查方法是否存在
    private boolean checkMethod(String setMethod, Method[] methods) {
        for (Method m : methods) {
            if (setMethod.equals(m.getName())) {
                return true;
            }
        }
        return false;
    }

相关文章

  • 博客地址

    java注解-01、java注解-02、Git面试资源java反射-01、java反射-02、java反射-03为...

  • Java反射机制入门

    Java反射机制入门 一、什么是反射 JAVA反射机制(The JAVA reflection mechanism...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • 反射之一

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • 反射之二

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • Java基础之反射

    Java基础之反射 反射基本介绍 反射的使用通过反射调用属性和方法通过反射获取配置文件 反射基本介绍 Java反射...

  • Java 反射机制

    Java 反射机制 什么是反射 Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 ...

  • 一探究竟:Java反射效率低的原因到底在哪?

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • 面试官说:大家都说 Java 反射效率低,你知道原因在哪里么

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • Java面试题之JavaSE高级

    一、Java中的反射 1.说说你对Java中反射的理解 java中的反射首先是能够获取到Java...

网友评论

      本文标题:java反射-第3篇

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