文档章节

java 遍历对象的内部成员

章大大
 章大大
发布于 2014/06/18 09:06
字数 165
阅读 2062
收藏 5
//方法一:
import java.lang.reflect.Field;
import java.lang.reflect.Method;

Class c = Class.forName("AbstractClassTest.Car");//要包名+类名
Object obj=c.newInstance();
Car car = (Car)obj;
Field[] fields = c.getDeclaredFields();//拿到数据成员
Method[] methods = c.getMethods();//拿到函数成员
System.out.println(fields.length);
System.out.println(methods.length);
for(Field f : fields){
    System.out.println("该类的内部变量有:"+f.getName());
}
for(Method m : methods) {
    System.out.println("该类的方法有:"+m.getName());
}

//方法二:用来遍历对象属性和属性值
public static Map<String,String> readClassAttr(TestBean tb) throws Exception{

    Field[] fields=tb.getClass().getDeclaredFields();
    String keyList="";
    String valueList="";

    for(Field field:fields){
        field.setAccessible(true);  

        if(field.get(tb)!=null&&!"".equals(field.get(tb).toString())){

            keyList+=","+field.getName();

            if("a".equals(field.getName())){

                valueList+=","+"特殊格式哦";

            }else{

                valueList+=","+field.get(tb);

            }

            System.out.println(field.getName()+"   "+field.get(tb).toString());
        }
    }

    Map<String,String> maps=new HashMap<String, String>();
    maps.put("keys", keyList);
    maps.put("values",valueList);

    return maps;
}




© 著作权归作者所有

共有 人打赏支持
章大大
粉丝 0
博文 40
码字总数 9223
作品 0
宁波
程序员
去投资银行面试会遇到的10个Java问题

本文由ImportNew -大瓜细瓜 翻译自dzone。欢迎加入翻译小组。转载请见文末要求。 很多Java开发人员会到巴克莱、瑞士信贷、花旗等投资银行申请Java开发职位,但他们中很多人都不知道面试时会遇...

ImportNew
07/25
0
0
ThreadLocal的原理与使用

通过源码解读ThreadLocal类的实现 ThreadLocal类提供了以下几个方法 get()方法是用来获取ThreadLocal在当前线程中保存的变量副本 set()用来设置当前线程中变量的副本 remove()用来移除当前线...

凌晨一点
08/30
0
0
带你了解源码中的 ThreadLocal

这次想来讲讲 ThreadLocal 这个很神奇的东西,最开始接触到这个是看了主席的《开发艺术探索》,后来是在研究 ViewRootImpl 中又碰到一次,而且还发现 Android 中一个小彩蛋,就越发觉得这个东...

请叫我大苏
07/20
0
0
11、Java并发性和多线程-Java内存模型

以下内容转自http://ifeve.com/java-memory-model-6/: Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内...

easonjim
2017/06/15
0
0
115个Java面试题和答案——终极列表(上)

本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Jav...

LCZ777
2014/04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
25分钟前
1
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
40分钟前
4
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
3
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
1
0
mixin混入

①新建mixin.js文件 const mixin = { methods: { /** * 分页公共方法 */ handleSizeChange(val) { this.pageData.size = val; this.query(); }, hand......

不负好时光
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部