1. /**
  2. *
  3. */
  4. package test;
  5.  
  6. import java.lang.reflect.Field;
  7. import java.lang.reflect.Modifier;
  8.  
  9. /**
  10. * @author Administrator
  11. *
  12. */
  13. public class testmain {
  14.  
  15. /**
  16. * @param args
  17. */
  18. public static void main(String[] args) {
  19. // TODO Auto-generated method stub
  20. ServiceLaunchPack a = new testmain.ServiceLaunchPack();
  21. a.Catagory = "11111111111111";
  22. a.getFields(a);
  23. }
  24.  
  25. public static class ServiceLaunchPack {
  26. public String ID;
  27. public String Name;
  28.  
  29. public String Catagory;
  30. public String Catagory2;
  31. public String PreFee;
  32. public String Method;
  33. public String PubMobile;
  34. public String MultiDate;
  35. public String Cover;
  36. public String Images;
  37. public String Content;
  38. public String Area;
  39. public String Street;
  40. public String Address;
  41. public String Latitude;
  42. public String Longitude;
  43. public String Enable;
  44. public String Audit;
  45. public String CreateTime;
  46.  
  47. public ServiceLaunchPack() {
  48. // TODO Auto-generated constructor stub
  49. }
  50.  
  51. void getFields(ServiceLaunchPack obj) {
  52. try {
  53. if (obj == null)
  54. return;
  55. Field[] fieldlist = obj.getClass().getDeclaredFields();
  56. for (int i = 0; i < fieldlist.length; i++) {
  57. Field fld = fieldlist[i];
  58. System.out.println("decl class = " + fld.getDeclaringClass());
  59. System.out.println("type = " + fld.getType());
  60. int mod = fld.getModifiers();
  61. System.out.println("modifiers = " + Modifier.toString(mod));
  62.  
  63. // int i = i;
  64. fieldlist[i].setAccessible(true);
  65. // 字段值
  66. if (fieldlist[i].getType().getName().equals(java.lang.String.class.getName())) {
  67. // String type
  68. try {
  69. //字段名
  70. System.out.print( fld.getName()+" = " );
  71. System.out.println(fieldlist[i].get(obj));
  72. } catch (IllegalArgumentException e) {
  73. // TODO Auto-generated catch block
  74. e.printStackTrace();
  75. } catch (IllegalAccessException e) {
  76. // TODO Auto-generated catch block
  77. e.printStackTrace();
  78. }
  79. } else if (fieldlist[i].getType().getName().equals(java.lang.Integer.class.getName()) || fieldlist[i].getType().getName().equals("int")) {
  80. // Integer type
  81. try {
  82. System.out.println(fieldlist[i].getInt(obj));
  83. } catch (IllegalArgumentException e) {
  84. // TODO Auto-generated catch block
  85. e.printStackTrace();
  86. } catch (IllegalAccessException e) {
  87. // TODO Auto-generated catch block
  88. e.printStackTrace();
  89. }
  90. }
  91. // 其他类型。。。
  92. System.out.println("----------\n");
  93. }
  94. } catch (Throwable e) {
  95. System.err.println(e);
  96. }
  97. }
  98.  
  99. }
  100.  
  101. }

 http://blog.csdn.net/justinavril/article/details/2873664

http://blog.csdn.net/rugaxm/article/details/8524639 

java反射出字段信息和值的更多相关文章

  1. java反射获取字段的属性值,以及为字段赋值等方法

    1.获取某个类的属性值 /*利用getter方法获取值(首字母大写) CjJssetDTO obj: */ String filedName = "Cj"+(i+1); Class ...

  2. 【译】7. Java反射——私有字段和私有方法

    原文地址:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html =================== ...

  3. java 反射提取类信息, 动态代理 和过滤某些方法演示

    java 反射提取类信息, 动态代理 和过滤某些方法演示 package org.rui.classts.reflects; import java.lang.reflect.Constructor; ...

  4. Java反射-修改字段值, 反射修改static final修饰的字段

    反射修改字段 咱们从最简单的例子到难, 一步一步深入. 使用反射修改一个private修饰符的变量name 咱们回到主题, 先用反射来实现一个最基础的功能吧. 其中待获取的name如下: public ...

  5. java反射机制获取自定义注解值和方法

    由于工作需求要应用到java反射机制,就做了一下功能demo想到这些就做了一下记录 这个demo目的是实现动态获取到定时器的方法好注解名称,废话不多说了直接上源码 1.首先需要自定义注解类 /** * ...

  6. java反射对实体类取值和赋值,可以写成通过实体类获取其他元素的数据,很方便哦~~~

    项目中需要过滤前面表单页面中传过来的实体类的中的String类型变量的前后空格过滤,由于前几天看过一个其他技术博客的的java反射讲解,非常受益.于是,哈哈哈 public static <T& ...

  7. java反射对实体类取值和赋值

    public static void checkDesignerEdit(Object dtos) throws Exception { Class dtosClass = dtos.getClass ...

  8. java反射-获取方法信息

    例子代码如下: package com.reflect; import java.lang.reflect.Method; public class ClassUtill { /* * 打印类的信息, ...

  9. java 反射获取字段为List类型中的泛型类型

    在java编程时,经常会使用反射去处理对象,有时会需要知道List的泛型类型:示例操作如下 obj = pojo.newInstance(); // 首先得到pojo所定义的字段 Field[] fi ...

随机推荐

  1. Flask_admin 笔记六 modelView的内置方法

    增加model后端Flask-Admin对与之配合的数据库模型做了一些假设. 如果要实现自己的数据库后端,并且Flask-Admin的模型视图仍可按预期工作,则应注意以下事项:1) 每一个model必 ...

  2. Ext JS 4 的类系统

    前言 我们知道,JavaScript中没有真正的类,它是一种面向原型的语言 .这种语言一个强大的特性就是灵活,实现一个功能可以有很多不同的方式,用不同的编码风格和技巧.但随之也带来了代码的不可预测和难 ...

  3. Linux内核分析——可执行程序的装载

    链接的过程 首先运行C预处理器cpp,将C的源程序(a.c)翻译成ASCII码的中间文件(a.i) 接着C编译器ccl,将a.i翻译成ASCII汇编语言文件a.s 接着运行汇编器as,将a.s翻译成可 ...

  4. 20135316王剑桥Linux内核学习记笔记第七周

    20135316王剑桥<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 一.可执行程序是怎么得来的? 编译 ...

  5. Sprint 冲刺第三阶段第二天

    陈汝婷:播放音乐 1:做播放音乐这个功能时开始没有考虑周全,使用 PS P出来的图竟然没有用上,耗时耗人工.吃一见长一智,以后要考虑周全.还要耗了那么久,音乐的初效果终于出来了. 2:昨天出现的问题, ...

  6. node基础 npm、module、exports、require

    module 模块.包:可以认为是一个代码包,package,提供特定的功能(暴露给外界接口,让外界调用) exports 输出.导出:导出模块中的各种类型的变量,以及各种方法,导出之后,才可以被外界 ...

  7. Linux下运行Shell脚本或者可执行文件Executable方法

    绝对路径 /xxx/xxx/something.sh /xxx/xxx/executable 相对路径 ./something.sh ./executable 注意:前边得加./,可不是像window ...

  8. A example that using JQuery clone

    <html> <head> <script type="text/javascript" src="/jquery/jquery.js&qu ...

  9. CS、IP和PC寄存器

    CS寄存器和IP寄存器: 首先强调一下,这两个寄存器非常非常重要,CS的全拼为“Code segment”,即代码段寄存器,对应于内存中的存放代码的内存区域,用来存放内存代码段区域的入口地址(段基址) ...

  10. 安装rlwrap 的简单方法

    1. 下载安装 epel包 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 2. 安装r ...