0 0

关于java反射的一个问题,纠结死了3


其中的一部分关键代码。程序在执行BeanUtils.populate(obj, map),这段后好像并没有把值赋值给obj,我debug了一下,传的list是有值的,而且在内部循环中,map也是有值的。程序也没有报错,这是为什么?补充:在用到反射的时候,需要反射所用到的实例的属性和map中的key也一一对应上了,请帮忙解答一下!!!!!!!

问题补充:beanutils为apache commons里的工具类
7454103 写道
既然 你都确认 Map 里面有值,
为什么不再往前一步:
1 clazz 类型是否正确?
2 BeanUtils 断点跟进去看下 转换 规则

2012年5月18日 14:39
  • 大小: 64.3 KB

2个答案 按时间排序 按投票排序

0 0

 public static void populate(Object bean, Map properties)
        throws IllegalAccessException, InvocationTargetException
    {
        if(bean == null || properties == null)
            return;
        if(log.isDebugEnabled())
            log.debug("BeanUtils.populate(" + bean + ", " + properties + ")");
        for(Iterator names = properties.keySet().iterator(); names.hasNext();)
        {
            String name = (String)names.next();
            if(name != null)
            {
                Object value = properties.get(name);
                setProperty(bean, name, value);
            }
        }

    }


源码就是这几句, 你看下 你map 里面的  name 和 对象的属性是否一致。

2012年5月18日 15:43
0 0

既然 你都确认 Map 里面有值,
为什么不再往前一步:
1 clazz 类型是否正确?
2 BeanUtils 断点跟进去看下 转换 规则

2012年5月18日 15:06

相关推荐

    Java反射性能测试分析

    Java反射机制是Java编程语言中一个强大的特性,它允许程序在运行时动态地访问、检测和修改类、接口、字段和方法等对象。然而,反射操作通常会引入额外的开销,这在性能敏感的应用场景下可能成为一个瓶颈。本文将深入...

    java反射,获取所有属性、方法以及List集合类

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象,包括访问私有成员、调用私有方法、创建对象、获取类...

    java反射机制.zip

    java反射机制java反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制...

    java反射技术ppt

    Java反射技术是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象以及它们的方法和属性。通过反射,开发者能够获取关于类的信息,并且能够在运行时动态地创建对象和调用方法,这为编程带来...

    java反射机制源码

    java反射机制源码java反射机制源码java反射机制源码

    通过Java反射机制获取JavaBean对象

    1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息

    java反射实例

    描述中的"ReflectionDemo"表明这是一个关于反射的示例程序,通常包含创建和执行反射操作的代码片段。而"jdom.jar"则可能是一个依赖库,它可能用于处理XML文档,这在某些反射应用场景中可能是必要的,比如读取或写入...

    Java反射案例

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类集中在java.lang.reflect包下,包括Class、Constructor、Method和Field...

    Java 反射封装 JavaBean

    使用 Java 反射封装 JavaBean <br> 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean

    实战java反射机制-让你迅速认识java强大的反射机制

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法的信息,甚至动态地创建对象并调用其方法。通过反射,开发者可以实现高度灵活和动态的代码,这对于框架开发、元编程...

    JAVA反射机制详解视频

    (类的加载概述和加载时机) (类加载器的概述和分类) (获取class文件对象的三种方式) ...(通过反射写一个通用的设置某个对象的某个属性为指定的值) (通过用户的增删改查和学生的登录注册引出中介) (动态代理的概述和实现)

    Java反射机制的详细讲解及实例,有助于java深度开发

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法等对象。这一机制对于理解和利用Java的动态性至关重要,尤其是在进行复杂系统设计、框架开发以及元数据驱动的应用中...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

    Java反射 JavaBean对象自动生成插入,更新,删除,查询sql语句操作.docx

    在这个示例代码中,提供了一个BeanUtil类,该类提供了多个静态方法,用于生成sql语句。这些方法包括getBeanName、getBeanPropertyList、getBeanFilesList等。这些方法使用了Java反射机制来获取JavaBean对象的信息,...

    java反射原理

    总结来说,Java反射机制是Java语言的一个重要特性,它允许程序在运行时动态地加载、检测和使用类信息,极大地增强了Java的灵活性和扩展性。然而,正如任何强大工具一样,反射机制的使用也需遵循一定的原则,避免滥用...

    java中反射的概念

    总的来说,Java反射机制是面向对象编程的一个重要补充,它扩展了Java程序的动态性,允许程序员在运行时访问和操作类的内部结构,增强了代码的灵活性。理解和熟练掌握反射技术,对于提升Java编程能力,尤其是处理复杂...

    java反射效率

    Java反射在编程中是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法的信息。然而,这种灵活性是有代价的:反射通常比直接的非反射代码执行效率低。本文将深入探讨Java反射的效率问题,以及何时、...

    Java 反射创建get set方法及反射方法的调用

    - 使用反射机制查找对应的`set`和`get`方法,并创建一个`PropertyDescriptor`对象。 2. **setProperty** 方法: - 该方法接收一个对象`obj`、属性名`propertyName`和要设置的值`value`。 - 首先通过`...

    圣思园 reflection(Java反射) 课件

    Java反射机制是Java编程语言中一个强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法的信息。通过反射,开发者可以在程序执行过程中动态地获取类的信息并进行操作,这为Java应用程序提供了高度的灵活性...

Global site tag (gtag.js) - Google Analytics