`
hacker_zxf
  • 浏览: 144111 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

两个反射的小例子

阅读更多
  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;  

分享到:
评论

相关推荐

    关于Java反射机制的小例子

    要使用蓝牙设备进行通讯必须的先使两个设备之间建立连接,Android SDK中提供了一些方法可供调用,但是有些方法没有提供接口,于是参考了网上的一些资料写了这个例子,顺便学习下Android反射机制的使用,自测OK,留待...

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

    根据网上例子,自己做了一个例子,内容包括: 1.使用winform按钮事件,反射dll中函数调用; 2.codeDOM创建动态类整个过程 3.类中包括函数和属性; 4.反射dll,并获取方法。

    抑制扭结-抗扭结碰撞中的两个反弹窗口

    对于较小的变形和一个或两个振动模式,可以通过第一振动模式和平移模式之间共振效应的标准机制来解释观察到的两个反射窗口。 随着变形的增加,出现不止一种振动模式的结果是初始的两个反弹窗口逐渐消失。 即使存在...

    01:详解C#中的反射.pdf

    大家注意到这两个例子的共同特点,就是从一个对象的外部去了解对象内部的构造,而且都是利用了波的反射功能。在.NET中的反射也可以实现从对象的外部来了解对象(或程序集)内部结构的功能,哪怕你不知道这个对象(或...

    Landsat/Sentinel-2 地表反射数据集说明文档(算法)HLS-ATBD-V15-provisional.pdf

    本《用户指南》ATBD 引用了临时 HLS 1.5 版数据,这些数据的科学质量未经验证,不应 用于科学研究或应用。...HLS 生成两个空间分辨率为 30 米的平铺图像产品,即 "L30 "和 "S30",分别来自 Landsat-8 和 Sentinel-2

    reflec-ts:具有反射功能的TypeScript编译器

    反思 增强(非官方)版本,提供了... 实际上,如果单独选择这两个功能,还不足以实现反射,但是应该以某种方式将它们链接在一起。 例如,我们通常希望从其标识符检索类元数据(例如Java中的String.class ),或者我们想

    2013-01-30 泛型、反射.pdf

    //但是输出的时候,确实生成了两个不同的版本 Console.WriteLine(MyList&lt;string&gt;.aa.ToString());//11 Console.WriteLine(MyList&lt;int&gt;.aa.ToString());//22 //由此看出,JIT在运行代码的时候,分别为带不同的 ...

    smallish ice40 / raspberrypi 超声硬件_Jupyter_python_代码_相关文件_下载

    两个控制选项:usb 或 raspberry 教程:使用 GPIO 功能区控制它 教程:用 USB 控制它 例子 用树莓派 该板连接到水中的单元素压电体,反射器在几厘米外,浸入水中。脉冲器设置为 25V 高脉冲。控制是通过用作控制器和...

    XML官方指南中文版(CHM) 下载

    目前两个最著名的浏览器都支持XML。 用微软的IE来查看XML 怎样用微软的IE去观看XML文件。 使用CSS来显示XML 怎样用微软的IE和CSS来显示XML文件。 使用XSL来显示XML 怎样用微软的IE和XSL来显示XML文件。 ...

    《Zemax激光光学设计实例应用——自学案例汇编》之

    因两个版本在某些菜单列表和窗口形式上的些许差异,读者需自行对比测试。最开始的一些例子是基于目前比较常见的教材和习作而进行的细化论述,以丰富本文内容同时对初学者入门更有帮助。作者才疏学浅,不保证该文本的...

    JavaScript王者归来part.1 总数2

     5.7.1 运行时类型识别--两个运行的类型识别的例子   5.7.2 类型的自动转换及其例子   5.7.3 强制类型转换及其例子   5.7.4 高级用法--一个自定义类型转换的例子   5.8 警惕数值陷阱   5.8.1 困惑--...

    磁场对液体-微伸缩固体介面波传播的影响 (2011年)

    在两个半空间中,满足介面处必需的边界条件下,得到控制方程的适当解,是一组以不同反射和透射波振幅比表示的5个非齐次方程.以水和铝-环氧树脂合成材料介面为实际例子,用Gauss消除法的Fortran程序求解方程组.考虑存在和...

    可自定义Json转model对象

    例子在D3Json的Project里面,写了两个测试,一个是json转单model,一个是转model的list 在playgroud里面也有两个例子,但是playgroud里面,alloc自己定义的model时直接出错,可能是playgroud的bug 只需要一句代码:...

    jdbc连接数据库小项目

    一个简单的连接数据库例子,通过jdbc,实现了增加,查询 利用反射和普通办法 查询单条记录和多条记录 加载jdbc驱动 提供连接参数 建立一个数据库的连接 创建一个statement连接 执行sql语句 处理结果 关闭jdbc对象。 ...

    GSP5.exe

    制作两个圆,一个运动的圆,一个静止的圆,在静止的圆的外部和内部各画一个,让运动的圆的圆心分别向这两个点移动,达到两圆相切和相交的效果(当然两圆的内含、内切也可同样作出。只是要特别注意:选择顺序,先选...

    asp.net知识库

    通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到...

    Java面向对象程序设计(清华版)压缩卷2

    本书综合介绍了Java语言编程技术和面向对象程序设计两部分内容,在讲授Internet上最流行的编程语言Java的同时,还介绍了它所采用的面向对象技术的基础理论、主要原则和思维方法。本书内容翔实全面,涵盖了从基本概念...

    J2EE应用开发详解

    316 17.7 小结 318 第18章 Hibernate 319 18.1 Hibernate体系结构 319 18.2 Hibernate核心接口 321 18.3 一个简单的Hibernate例子 321 18.4 详解Hibernate配置文件 325 18.4.1 Hibernate的两种配置方式 325 18.4.2 ...

    DWR.xml配置文件说明书(含源码)

    仅仅通过反射方法没有办法知道集合元素中的类型,所以上面的两个converter能将任何集合转换成相对javascript而言有意义的对象.然而没有办法将不同的集合类类型分别采用不同的转换方法.因为没有办法完全自动进行转换,...

Global site tag (gtag.js) - Google Analytics