`
lch_2010
  • 浏览: 35592 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

反射获取对象的属性值

    博客分类:
  • java
阅读更多

Java 代码

1 > bean 对象

package com.whbs.bean;

 

public class UserBean {

    private Integer id ;

    private int age ;

    private String name ;

    private String address ;

   

    public UserBean(){

       System. out .println( " 实例化 " );

    }

   

    public Integer getId() {

       return id ;

    }

    public void setId(Integer id) {

       this . id = id;

    }

    public int getAge() {

       return age ;

    }

    public void setAge( int age) {

       this . age = age;

    }

    public String getName() {

       return name ;

    }

    public void setName(String name) {

       this . name = name;

    }

    public String getAddress() {

       return address ;

    }

    public void setAddress(String address) {

       this . address = address;

    }

   

   

   

}

 

2 > 反射测试

 

package com.whbs.test;

 

import java.lang.reflect.Field;

import java.lang.reflect.Method;

 

import com.whbs.bean.UserBean;

 

public class Test1 {

 

    public static void main(String[] args) throws Exception {

 

      

       /*

         * 实列化类 方法 1

         */

       //String classPath = "com.whbs.bean.UserBean";

       //Class cla = Test1.class.getClassLoader().loadClass(classPath);

       //Object ob = cla.newInstance();

      

       /*

         * 实列化类 方法 2

         */

       UserBean bean = new UserBean();

       bean.setId(100);

       bean.setAddress( " 武汉 " );

      

       // 得到类对象

       Class userCla = (Class) bean.getClass();

      

       /*

         * 得到类中的所有属性集合

         */

       Field[] fs = userCla.getDeclaredFields ();

       for ( int i = 0 ; i < fs. length ; i++){

           Field f = fs[i];

           f.setAccessible( true ); // 设置些属性是可以访问的

           Object val = f.get(bean); // 得到此属性的值    

      

           System. out .println( "name:" +f.getName()+ "/t value = " +val);

          

           String type = f.getType().toString(); // 得到此属性的类型

           if (type.endsWith( "String" )) {

              System. out .println(f.getType()+ "/t String" );

              f.set(bean, "12" ) ;        // 给属性设值

           } else if (type.endsWith( "int" ) || type.endsWith( "Integer" )){

              System. out .println(f.getType()+ "/t int" );

              f.set(bean,12) ;       // 给属性设值

           } else {

              System. out .println(f.getType()+ "/t" );

           }

          

       }

      

      

       /*

         * 得到类中的方法

         */

       Method[] methods = userCla.getMethods();

       for ( int i = 0; i < methods. length ; i++){

           Method method = methods[i];

           if (method.getName().startsWith( "get" )){

              System. out .print( "methodName:" +method.getName()+ "/t" );

              System. out .println( "value:" +method.invoke(bean)); // 得到 get 方法的值

           }

       }

    }

 

}

分享到:
评论

相关推荐

    利用反射机制动态获取对象属性名称及数据类型

    接下来,我们创建一个名为`ReflectorClass`的辅助类,其中包含一个静态方法`getPropertyName`,这个方法接受一个对象实例作为参数,通过反射获取该对象的所有属性名及对应的类型,并返回一个字符串,每个属性名与...

    C#通过属性名字符串获取、设置对象属性值操作示例

    C# 通过属性名字符串获取、设置对象属性值操作示例主要介绍了 C# 通过反射获取对象属性值并设置属性值、获取对象的所有属性名称及类型等相关操作技巧。下面是详细的知识点解释: 一、通过反射获取对象属性值 在 C#...

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

    这些`Field`对象提供了设置和获取字段值的能力,通过`set()`和`get()`方法。 ```java Class&lt;?&gt; clazz = Class.forName("com.example.YourClass"); Field[] fields = clazz.getDeclaredFields(); for (Field ...

    java基于反射得到对象属性值的方法

    本文将深入探讨如何使用反射来获取对象的属性值,这在某些场景下非常有用,例如动态访问私有属性、序列化或单元测试。 首先,我们需要了解Java中的`java.lang.reflect`包,这个包提供了对运行时类结构的访问。在这...

    java反射获取所有属性,获取所有get方法,包括子类父类

    在标题和描述中提到的知识点主要集中在如何通过反射获取类的所有属性和get方法,包括来自子类和父类的。下面将详细介绍这些内容。 1. **获取所有属性**: 在Java中,`java.lang.Class` 类提供了获取类属性的方法。...

    反射获取属性调用方法反射获取属性调用方法

    反射获取属性和调用方法是其核心功能,广泛应用于框架设计、动态代理、插件机制等领域。下面将详细解释这两个概念。 1. 反射获取属性: 在Java中,`java.lang.reflect`包提供了`Class`类来获取类的信息,包括其...

    frida反射调用对象中的方法与字段.pdf

    本文主要讲解了在遇到需要操作Java对象的参数或返回值时,如何利用Frida这一动态代码插桩工具来进行反射调用,包括调用对象的方法和获取对象的字段。Frida是一个强大的动态代码插桩工具,它可以注入到几乎所有的进程...

    Java利用反射获取object的属性和值代码示例

    4.如何使用反射机制设置对象的属性值 5.反射机制的优缺点和使用场景 6.如何处理反射机制中的异常 这篇文章展示了Java反射机制的基本概念和使用方法,并提供了一个实用的例子来展示如何使用反射机制来获取对象的属性...

    C#中使用反射遍历一个对象属性及值的小技巧

    对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射): 代码如下: Type t = tc.GetType();//获得该类的Type //再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了 foreach ...

    通过反射获得实体类的字段和值

    第一个参数是要从中获取属性值的对象实例,第二个参数通常为`null`,除非属性有索引器,否则这个参数可以省略。 #### 3. 理解`GetValue`的参数 `GetValue`方法的第二个参数是`BindingFlags`的可选参数,用于控制...

    Java 用反射设置对象的属性值实例详解

    在上面的代码中,我们首先获取对象的 Class 对象,然后根据属性名称获取设置属性值的方法,最后使用反射机制设置对象的属性值。 创建对象的方法 在 Java 中,有多种方式可以创建对象。下面我们将介绍两种常见的...

    java 反射 调用私有方法(有参数私有方法)获取私有属性值

    以下是如何使用Java反射来调用私有方法并获取私有属性值的详细步骤: 1. **获取Class对象**:首先,我们需要获取到目标类的Class对象,这可以通过`Class.forName()`方法或者对象的`getClass()`方法来实现。例如,...

    java 反射取得类的私有属性,通过私有属性取得属性值

    这篇博客文章可能讨论了如何利用反射机制来获取类的私有属性并读取其对应的属性值。以下是关于这个主题的详细解释。 首先,我们需要理解什么是反射。Java反射API提供了一系列类和接口,如`Class`、`Field`、`Method...

    Java对象属性数据比较,返回变化数据

    总结起来,`Java对象属性数据比较,返回变化数据`这个主题涉及到Java的面向对象特性,包括对象、属性、以及反射API的使用。`ObjectCompareUtil`工具类提供了一种通用的方式来比较两个对象的属性,而`...

    用反射的方式获取父类中的所有属性和方法

    在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作对象的内部结构,包括类的属性、方法以及构造器。...通过上述步骤,你可以有效地利用反射获取和操作类的父类属性和方法。

    运用反射得到类中的属性和值

    #### 二、反射获取类中的属性及值 下面,我们将通过具体的代码示例来展示如何使用反射来获取类中的所有属性及其对应的值。 ##### 1. 获取类的信息 首先,我们需要获取目标类的信息。这里使用`getClass()`方法来...

    C#设置和获取实例对象属性

    下面将详细介绍这三个概念以及如何使用它们来设置和获取实例对象的属性值。 **Emit** Emit是.NET Framework中的System.Reflection.Emit命名空间的一部分,它允许我们在运行时动态地创建类型、方法、属性等。Emit...

    Java反射通过Getter方法获取对象VO的属性值过程解析

    Java反射通过Getter方法获取对象VO的属性值过程解析 Java反射是Java语言中一种强大的技术,可以在运行时动态地inspect和modify对象的行为。通过Java反射,可以获取对象的属性值,方法,构造函数等信息。在本文中,...

    java反射获取一个object属性值代码解析

    java反射获取一个object属性值代码解析是java编程中一个非常重要的知识点,通过反射机制,可以动态地获取一个object的属性值,无需提前知道该对象的类型。下面将详细介绍java反射获取一个object属性值代码解析的相关...

    反射自定义属性拼接SQL

    在这个“反射自定义属性拼接SQL”的例子中,我们将探讨如何利用反射来读取对象的自定义属性,并根据这些属性值动态构建SQL查询语句。 首先,让我们理解什么是自定义属性。自定义属性是通过继承`System.Attribute`类...

Global site tag (gtag.js) - Google Analytics