HashMap map = new HashMap();
Class c = this.getClass();
// 根据子类声明的field循环取值
for (int i = 0; i < c.getDeclaredFields().length; i++) {
try {
// 获取field
Field f = c.getDeclaredFields()[i];
String key = f.getName();
// 执行对应的get方法
String method = "get" + key.substring(0, 1).toUpperCase() + key.substring(1);
Class pTypes[] = new Class[0];
Method myMethod = c.getMethod(method, pTypes);
Object[] arg = new Object[0];
Object res = myMethod.invoke(this, arg);
// 保存
map.put(key, res);
} catch (Exception e) {
// 返回空
return null;
}
}
return map;
Map hashMap = new HashMap();
try {
Class c = obj.getClass();
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++) {
if (m[i].getName().indexOf("get")==0) {
//System.out.println("方法名:"+m[i].getName());
// System.out.println("值:"+ m[i].invoke(obj, new Object[0]));
hashMap.put(m[i].getName(), m[i].invoke(obj, new Object[0]));
}
}
} catch (Throwable e) {
System.err.println(e);
}
return hashMap;
分享到:
相关推荐
在探讨“简单的反射例子”这一主题时,我们深入解析了反射在C#中的应用,以及如何利用反射来访问和操作对象的属性。反射是.NET框架中的一个强大特性,它允许程序在运行时检查和调用类型的信息,包括类型、方法、属性...
在这个“ehcache测试反射类例子”中,我们将探讨如何结合使用Ehcache和Java的反射机制。 首先,让我们理解Ehcache的核心概念。Ehcache提供了一个内存缓存系统,允许我们在内存中存储对象,这样当需要这些对象时,...
在Java Web开发中,Servlet和注解是两个重要的概念,它们极大地简化了代码编写和管理。本示例“servlet反射注解例子”旨在帮助我们深入理解如何将这两种技术结合使用,以实现更加灵活和可维护的服务器端应用程序。...
要使用蓝牙设备进行通讯必须的先使两个设备之间建立连接,Android SDK中提供了一些方法可供调用,但是有些方法没有提供接口,于是参考了网上的一些资料写了这个例子,顺便学习下Android反射机制的使用,自测OK,留待...
具备反射机制的系统通常具备开放性和原因连接两个基本要素,其中开放性意味着系统对外部变化更为友好;原因连接则指的是对系统自描述的改变能够立即反映到系统底层的实际状态和行为上。 #### 二、Java反射机制概述 ...
总的来说,这个压缩包中的小程序集成了C#中表达式树和反射的典型应用,对于想要深入了解这两种技术的开发者来说,是一份宝贵的参考资料。通过学习和研究这些代码,你可以更好地掌握如何在实际项目中灵活运用表达式树...
在给定的示例代码中,定义了一个名为`Admin`的类,该类包含两个方法:`getId()`和`setId(String id)`。`main`方法中演示了如何使用反射来调用这些方法。 #### 定义类 ```java public class Admin{ public Admin...
Java线程池与反射机制是Java编程中两个重要的概念,它们在实际开发中扮演着至关重要的角色。线程池能够有效地管理和控制并发执行的任务,而反射机制则允许我们在运行时动态地访问和修改类的信息。 首先,让我们深入...
这个方法需要两个参数:一个是方法名,另一个是参数类型的数组。例如: ```java try { Class<?> clazz = Class.forName("com.example.YourClass"); Method method = clazz.getDeclaredMethod("yourMethod", ...
下面将详细解释这两个知识点以及它们在实际应用中的示例。 首先,CodeDOM是.NET框架提供的一种模型,用于表示源代码的结构。通过CodeDOM,开发者可以在程序运行时生成、修改和编译源代码。这在某些情况下非常有用,...
在这个“面向接口的反射例子”中,我们将深入探讨ASP.NET中的两个关键概念:面向接口编程和反射。 首先,面向接口编程(Interface-Oriented Programming, IOP)是面向对象编程的一种策略,它强调设计和实现时以接口...
根据提供的标题、描述以及部分代码内容,我们可以了解到这是一个关于Java反射机制的小例子。接下来,我们将对这段代码进行详细的解析,并从中提取出相关的知识点。 ### 反射机制简介 反射是Java语言的一个强大特性...
标题中的“C#工厂模式的两个小例子”意味着我们将讨论两个不同的工厂模式实现,这两个例子可能分别展示了简单工厂模式和抽象工厂模式。简单工厂模式主要用于单个产品等级结构,而抽象工厂模式则处理多个相关或相互...
在.NET框架中,自定义属性(Custom Attributes)是一种元数据,可以附加到代码的各种元素上,如类、方法、字段等,提供额外的信息用于运行...在实际项目中,结合这两个特性,可以有效地提高代码的可维护性和可重用性。
Java反射和泛型是Java编程中的两个重要特性,它们各自为开发者提供了强大的功能,并且在特定情况下可以相互结合使用。本文将深入探讨这两个概念,并通过一个具体的`Testrefl.java`示例来阐述它们的应用。 Java反射...
通过分析这两个文件,我们可以看到反射在实际项目中的具体应用。 总之,Java反射机制为开发者提供了强大的灵活性,能够访问和操作程序运行时的类信息,这对于测试、插件系统、动态代码生成以及许多其他场景都非常...
假设我们有一个名为`Person`的类,包含`Name`和`Age`两个属性,以及一个`SayHello()`方法: ```csharp public class Person { public string Name { get; set; } public int Age { get; set; } public void ...
Java反射机制是Java语言中一个强大的特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够动态地创建对象和调用方法。...通过深入学习和实践这两个知识点,可以极大地提升你的Java编程能力。
例如,假设有一个`Person`类,包含姓名和年龄两个字段,以及一个`sayHello()`方法。我们可以通过反射动态创建`Person`对象,设置字段值,并调用`sayHello()`: ```java try { Class<?> personClass = Class.for...
在.NET编程环境中,反射和序列化是两个非常重要的概念,它们在软件开发中扮演着关键的角色。本文将通过几个简单的C#示例来探讨这两个主题,帮助初学者更好地理解和运用。 **反射** 反射是.NET框架提供的一种强大...