`

java通过反射获取属性字段名、值、数据类型

    博客分类:
  • Java
阅读更多
package cn.tzz.java.reflect;

import cn.tzz.aop.entity.Person;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import org.junit.Test;

public class TestReflect {

	/** 方法--属性复制 */
	public void fieldCopy(Object source, Object target) throws Exception {
		Method[] methods = source.getClass().getDeclaredMethods();
		for (Method method : methods) {
			String methodName = method.getName();
			System.out.println(methodName);
			if (methodName.startsWith("get")) {
				Object value = method.invoke(source, new Object[0]);
				System.out.println(value);
				String setMethodName = methodName.replaceFirst("(get)", "set");
				Method setMethod = Person.class.getMethod(setMethodName,
						method.getReturnType());
				setMethod.invoke(target, value);
			}
		}
	}

	/** 属性字段名、值、数据类型 */
	public void getFields(Object object)  throws Exception {
		Field[] fields = object.getClass().getDeclaredFields();
		for (Field field : fields) {
			field.setAccessible(true);
			String classType = field.getType().toString();
			int lastIndex = classType.lastIndexOf(".");
			classType = classType.substring(lastIndex + 1);
			System.out.println("fieldName:" + field.getName() + ",type:"
					+ classType + ",value:" + field.get(object));
		}
	}

	@Test
	public void test() throws Exception {
		Person person = new Person();
		person.setId(1L);
		person.setName("AAA");
		Person person2 = new Person();
		fieldCopy(person, person2);
		getFields(person2);
	}
}

 

分享到:
评论

相关推荐

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

    在深入探讨如何通过反射获取实体类的字段和值之前,我们先来理解一下反射是什么以及它在.NET框架中的作用。反射是一种强大的编程技术,允许运行时动态地获取类型的信息并操作对象。它提供了对程序集、模块、类型、...

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

    在Java中,`java.lang.reflect`包提供了`Class`类来获取类的信息,包括其属性(字段)。例如,你可以通过以下步骤获取类的属性: ```java Class<?> clazz = Class.forName("com.example.YourClass"); Field ...

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

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

    通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解注释及属性名称等

    Java反射技术是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个技术主要基于Java.lang.reflect包中的类和接口,如Class、Constructor、Method和Field等。...

    Java源码获取数据库中表的字段信息

    我们遍历这个结果集,提取出每列的字段名、数据类型、是否为主键等信息。 以下是一个简单的示例代码,演示如何使用Java和JDBC获取MySQL数据库中表的字段信息: ```java import java.sql.*; public class ...

    java反射基本方法测试

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类、接口、字段和方法的信息,使得我们可以在不知道对象具体...

    java反射机制学习(四):通过反射执行方法、操作属性、操作数组中的数据

    Java反射机制是Java编程语言中一个强大的特性,它允许运行时动态地获取类的信息并进行操作,如创建对象、调用方法、访问属性以及处理数组等。在本篇讲解中,我们将深入理解如何通过反射来执行方法、操作属性以及处理...

    获取数据库表名和字段名.rar

    在IT领域,数据库管理是核心任务之一,而获取数据库中的表名和字段名是数据库管理员、开发者以及数据分析师经常需要进行的操作。这个名为"获取数据库表名和字段名.rar"的压缩包文件很可能包含了用于这一目的的代码或...

    利用java反射技术实现动态搜索所有字段

    Java反射技术是Java编程语言中的一个强大工具,它允许程序在运行时检查并操作类、接口、对象等的内部信息,包括但不限于类名、方法名、参数类型以及字段。通过反射,开发者可以实现动态调用方法、访问私有成员、创建...

    java 利用反射机制,获取实体所有属性和方法,并对属性赋值

    通过这样的方式,我们利用Java反射机制实现了对实体类所有属性的遍历,并在遇到null值时为其赋上默认值,从而避免了因null值导致的问题。这种技术在处理动态数据、序列化和反序列化、框架和库的实现等方面非常有用,...

    java例子 java反射

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类是`java.lang.Class`,它代表了类的信息。当我们需要在运行时动态地...

    java反射实现Object转json

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象的信息,包括类名、方法名、参数类型等。对于"java...

    Java反射经典实例

    - 获取字段:`Field field = clazz.getField("字段名");` - 设置字段值:`field.set(obj, 值);` - 获取字段值:`Object value = field.get(obj);` 4. 调用方法 - 获取方法:`Method method = clazz.getMethod(...

    JAVA反射简单例子

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Spring框架中,反射扮演着核心角色,特别是在依赖注入(DI)和面向切面编程(AOP)中。下面我们...

    java 根据javaBean反射自定义导出 excel、xml、pdf、csv

    反射机制则是Java语言提供的一种强大的工具,允许程序在运行时动态获取类的信息(如类名、属性、方法等)并进行调用。 首先,让我们详细讲解JavaBean。JavaBean是符合一定规范的Java类,主要特点是:公开的构造函数...

    Java反射案例

    虽然Java反射不能直接获取到泛型的实际类型,但是可以通过方法签名或者字段类型获取到擦除后的边界类型。 6. **接口与实现类**: 反射也可以用来检查一个类是否实现了特定的接口,通过`Class.getInterfaces()`...

    java中反射的概念

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

    Java反射机制总结

    - **元数据查询**:开发人员可以利用反射来查询类的元数据,如字段名、方法签名等。 - **动态调用方法**:可以通过反射动态地调用类的方法,这对于实现回调机制、插件架构等很有帮助。 - **动态创建实例**:反射可以...

    java反射原理及作用

    首先,`owner.getClass()` 获取对象的类信息,然后使用 `getField()` 方法根据字段名获取该字段。最后通过 `field.get(owner)` 调用来获取该字段的值。 #### 2. 获取静态字段值 ```java public Object ...

    java反射机制文档及代码

    通过Class对象,我们可以获取到类的名称、包名、属性、构造器、方法等详细信息。例如,使用`Class.forName()`方法可以动态加载类,而`Object.getClass()`或`Class.class`则可以获取对象或类的Class实例。 1. **类的...

Global site tag (gtag.js) - Google Analytics