文档章节

java 遍历对象的内部成员

章大大
 章大大
发布于 2014/06/18 09:06
字数 165
阅读 1985
收藏 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 这个很神奇的东西,最开始接触到这个是看了主席的《开发艺术探索》,后来是在研究 ViewRootImpl 中又碰到一次,而且还发现 Android 中一个小彩蛋,就越发觉得这个东...

请叫我大苏
07/20
0
0
115个Java面试题和答案——终极列表(上)

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

LCZ777
2014/04/23
0
0
java_面试_01_一个月的面试总结(java)

重点知识 由于我面试的JAVA开发工程师,针对于JAVA,需要理解的重点内容有: JVM内存管理机制和垃圾回收机制(基本每次面试都会问,一定要搞得透彻) JVM内存调优(了解是怎么回事,一般做项...

rayner
03/07
0
0
11、Java并发性和多线程-Java内存模型

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

easonjim
2017/06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

go语言学习总结

一、描述 go语言是直接将源码编译成二进制机器码的语言;它支持面向对象、也支持函数式编程;支持并发很容易; 二、基本语法学习路径 https://studygolang.com/subject/2...

盼望明天
20分钟前
1
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
31分钟前
0
0
Java中的坑之方括号

Java中的坑之方括号 这一段时间,在做项目的时候,发现了一个坑,这个坑说大不大,说小不小,不知道的足够喝一壶,知道的就可以轻松解决。 问题描述 在做数据统计的时候,遇见了如下形式的数...

星汉
42分钟前
1
0
[雪峰磁针石博客]python机器学习、web开发等书籍汇总

Building Machine Learning Systems with Python Third Edition - 2018.pdf 下载地址 Get more from your data by creating practical machine learning systems with Python Key Features ......

python测试开发人工智能安全
53分钟前
1
0
文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部