`

反射的使用

阅读更多
1 得到指定class的所有方法或字段
Method[] methods = class1.getDeclaredMethods();
2 调用class的对象的指定方法
String temp = (String)me.invoke(po);

测试代码如下:

package test.com.channelsoft.smartdialer.util;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;


/**
* 使用反射 得到数值
* //通过title 给出的字段,打印po中的数值
* @author lenovo
*
*/
public class YangllTest {

public static void main(String[] args){

ClTemplatePo po = new ClTemplatePo();
po.setCustid("custiddesc");
po.setPhonenumber1("phonenumber1desc");
po.setPhonenumber2("phonenumber2desc");
po.setPhonenumber3("phonenumber3desc");
po.setPhonenumber4("phonenumber4desc");
po.setPhonenumber5("phonenumber5desc");
po.setPhonenumber6("phonenumber6desc");


List<String> title = new ArrayList<String>();
title.add("CUSTID");
title.add("PHONENUMBER1");
title.add("PHONENUMBER2");
title.add("PHONENUMBER3");
title.add("PHONENUMBER4");
title.add("PHONENUMBER5");
title.add("PHONENUMBER6");

//通过title 给出的字段,打印po中的数值

Class<ClTemplatePo> class1 = ClTemplatePo.class;
Method[] methods = class1.getDeclaredMethods();
//得到方法
for(String ti:title){
for(Method me:methods){
if(me.getName().equalsIgnoreCase("get"+ti)){
try {
//调用这个对象对应的方法
String temp = (String)me.invoke(po);
System.out.println(":"+temp);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

}
}
分享到:
评论

相关推荐

    java 反射的使用

    以下是对Java反射使用及相关知识点的详细阐述: 1. **获取Class对象** - `Class.forName(String className)`: 通过全限定类名获取Class对象。 - `object.getClass()`: 对象的`getClass()`方法返回该对象的Class...

    asp.net教程-.Net中的反射使用入门

    ### ASP.NET教程:.Net中的反射使用入门 #### 一、引言 反射是.NET框架中的一个重要特性,它允许程序在运行时动态地获取类型的信息并操作这些类型。这种能力对于许多开发场景都非常有用,例如在创建配置灵活的应用...

    动态反射使用外部dll接口方法

    这个“动态反射使用外部dll接口方法”的示例,旨在教会开发者如何利用C#语言和.NET框架来调用外部DLL中的接口方法,而无需在编译时硬编码这些调用。 首先,我们要理解什么是动态反射。动态反射是通过System....

    Net中的反射使用入门

    其次,不恰当的反射使用可能破坏类型安全,所以应谨慎处理。 8. **应用场景**: 反射常用于以下场景: - 动态加载和执行代码。 - 插件架构,允许在运行时加载和使用未知的组件。 - 自动化测试,如模拟对象行为...

    关于C#反射使用笔记

    ### 关于C#反射使用笔记 #### 知识点概览 C#中的反射是一种强大的技术,它允许程序在运行时动态地获取类型信息、创建对象实例、调用方法、读写字段等。通过反射,我们可以实现代码的解耦、增强代码的灵活性以及实现...

    java中dao层反射使用.doc

    Java 中 DAO 层反射使用 Java 中的 DAO 层是数据访问对象的缩写,主要负责数据的访问和操作。在 Java 中,反射机制是实现 DAO 层的关键技术之一。本文将对 Java 中 DAO 层反射使用进行详细的介绍。 反射机制 Java...

    c# 变量反射使用赋值

    在C#编程中,反射是一种强大的工具,它允许我们在运行时检查类型、接口、属性、方法等信息,并能动态地创建对象和调用方法。...不过,学习和理解反射的基本概念和使用方式至关重要,以确保正确、安全地使用这一功能。

    codeDOM动态创建类及反射使用的小例子

    这提供了一个直观的演示,展示了CodeDOM和反射在实际应用中的结合使用。 总结来说,CodeDOM和反射是C#编程中非常强大的工具。CodeDOM让我们能够动态地生成和修改代码,而反射则让我们在运行时能够访问和操作类型...

    Java的核心技术反射使用说明

    该例子以使用反射来完成实例化一个JFrame窗体的演示应用,说明Java的反射技术的一般使用。本示例,几乎一行一个注释,非常详细的说明了怎样使用反射,它是学习Java核心技术的非常好的例子。注意:本例子不适合初学...

    java之反射优化(缓存思路)源码

    2. **软引用**:使用Java的`SoftReference`可以创建一个弱化的缓存,这样在内存紧张时,JVM会自动回收这些不再使用的反射对象,以释放内存。 ```java public class ReflectionUtil { private static Map, ...

    反射的简单使用源码

    在Java编程语言中,反射...在设计系统时,应尽可能避免不必要的反射使用,只有在确实需要动态性或元编程功能时才考虑引入。在实际开发中,结合注解处理器和依赖注入框架等技术,往往能提供更优雅的解决方案。

    Java反射机制的使用和学习方法

    - 阅读源码:研究知名框架如Spring中的反射使用,理解其应用场景和实现方式。 - 案例分析:分析和解决实际问题,比如如何通过反射实现配置文件驱动的应用。 综上所述,Java反射机制提供了强大的动态编程能力,但...

    Java反射性能测试分析

    - **最小化反射使用**:尽可能减少反射的使用频率,特别是在性能关键的路径上。 #### 结论 Java反射机制虽然强大且灵活,但在性能方面存在明显的短板,尤其是在高并发或大规模数据处理的场景下。因此,在设计和...

    android系统java反射机制详解

    1. 尽量减少反射使用,特别是在性能敏感的代码段。 2. 使用try-catch捕获异常,避免运行时错误。 3. 反射操作应尽量静态化,避免频繁创建Class、Constructor、Method或Field对象。 总结,Java反射机制为开发者提供...

    java反射机制应用

    在不知道具体需要创建哪个类的实例时,可以使用反射技术根据配置文件或其他方式动态创建类的实例。例如,在Struts框架中,可以通过反射技术根据配置文件中的类名动态创建`MessageResources`实例。 ```java Class&lt;?&gt;...

    java反射机制文档及代码

    然而,反射使用不当也可能带来性能问题和安全风险,因此需谨慎使用。 通过阅读"1139760298222java.pdf"这份文档,你可以更深入地理解Java反射机制,并结合实际示例学习如何在项目中有效利用这一特性。记得在实际...

    使用java反射机制实现java的深拷贝

    在Java编程中,深拷贝和浅拷贝是两种常见的对象拷贝...然而,反射使用时应谨慎,因为它可能导致性能下降,且容易引入安全隐患。在设计类时,优先考虑使用序列化、克隆或自定义拷贝方法,以提高代码的可读性和维护性。

    c#反射例子的用法(

    这种能力在很多场景下都非常有用,比如在开发框架或者库的时候,我们往往不知道具体会使用到哪些类型的对象,通过反射就可以灵活地处理这种情况。 #### 二、反射的基本操作 在C#中,反射主要是通过`System....

    c# 反射应用几乎最全面的实例

    在敏感操作中使用反射时,确保遵循最佳实践,比如缓存Type对象和方法信息以避免重复查询。 总结: "C# 反射应用几乎最全面的实例"可能包含各种示例,如动态类型创建、方法调用、属性访问、泛型使用以及安全性和性能...

Global site tag (gtag.js) - Google Analytics