import java.lang.reflect.Field;

public class ReflectClass3 {

/**

* @param args

*/

public static void main(String[] args) {

Person p = new Person(1, "ctl", true, ‘c‘, 2.0f, 2.0, 1L, (short) 1,

(byte) 1);

p.setId(0);

p.setName("张三");

p.setIsMen(true);

p.setCh(‘c‘);

p.setFloat_(2.0f);

p.setDouble_(3.0);

p.setLong_(2l);

p.setShort_((short) 1);

p.setByte_((byte) 2);

reflect(p);

}

public static void reflect(Object obj) {

if (obj == null)

return;

Field[] fields = obj.getClass().getDeclaredFields();

String[] types1={"int","java.lang.String","boolean","char","float","double","long","short","byte"};

String[] types2={"Integer","java.lang.String","java.lang.Boolean","java.lang.Character","java.lang.Float","java.lang.Double","java.lang.Long","java.lang.Short","java.lang.Byte"};

for (int j = 0; j < fields.length; j++) {

fields[j].setAccessible(true);

// 字段名

System.out.print(fields[j].getName() + ":");

// 字段值

for(int i=0;i

if(fields[j].getType().getName()

.equalsIgnoreCase(types1[i])|| fields[j].getType().getName().equalsIgnoreCase(types2[i])){

try {

System.out.print(fields[j].get(obj)+" ");

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

}

public class Person {

public int id;

public String name;

public boolean isMen;

public Character ch;

public Float float_;

public Double double_;

public Long long_;

public Short short_;

public Byte byte_;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public boolean getIsMen() {

return isMen;

}

public void setIsMen(boolean isMen) {

this.isMen = isMen;

}

public Character getCh() {

return ch;

}

public void setCh(Character ch) {

this.ch = ch;

}

public Float getFloat_() {

return float_;

}

public void setFloat_(Float float_) {

this.float_ = float_;

}

public Double getDouble_() {

return double_;

}

public void setDouble_(Double double_) {

this.double_ = double_;

}

public Long getLong_() {

return long_;

}

public void setLong_(Long long_) {

this.long_ = long_;

}

public Short getShort_() {

return short_;

}

public void setShort_(Short short_) {

this.short_ = short_;

}

public Byte getByte_() {

return byte_;

}

public void setByte_(Byte byte_) {

this.byte_ = byte_;

}

public Person(int id, String name, Boolean isMen, Character ch, Float float_,

Double double_, Long long_, Short short_, Byte byte_) {

super();

this.id = id;

this.name = name;

this.isMen = isMen;

this.ch = ch;

this.float_ = float_;

this.double_ = double_;

this.long_ = long_;

this.short_ = short_;

this.byte_ = byte_;

}

public Person() {

super();

}

}

java怎么通过字段去获取对象_通过java反射获取任意对象的字段名及字段值相关推荐

  1. .net core 获取机器码_.NET Core 反射获取所有控制器及方法上特定标签

    有个需求,就是在. NET Core中,我们想在项目 启动时,获取LinCmsAuthorizeAttribute这个特性标签所有出现的地方,把他的参数,放入一个集合并缓存起来,以便后面使用此数据用于 ...

  2. java 获取泛型_聊聊Java泛型擦除那些事

    >版权申明]非商业目的注明出处可自由转载 博文地址:https://blog.csdn.net/ShuSheng0007/article/details/89789849 出自:shushen ...

  3. formdata 接受参数中带有class 对象_浅析JAVA中的反射机制及对Servlet的优化

    今天来聊聊java中的反射机制,工作以后发现很多东西动不动就要使用反射或者动态代理,如果不能很好的理解反射,那么对于动态代理等一些重要的设计模式就会有种不够通透的感觉. 所谓的反射,就是在运行状态中, ...

  4. java robot 对象_用Java Robot对象实现服务器屏幕远程监视

    用Java Robot对象实现服务器屏幕远程监视 作者:李鲁群 摘要: 有时候,在Java应用程序开发中,如:远程监控或远程教学,常常需要对计算机的屏幕进行截取,由于屏幕截取是比较接近操作系统的操作, ...

  5. java jvm对象_【Java】JVM

    在 HotSpot 虚拟机中,一个对象在内存中存储的布局可以分为三块区域:对象头(Object Header).实例数据(Instance Data)和对齐填充(Padding). 当我们在 Java ...

  6. java 异常对象_在java中的异常处理中的异常对象是什么

    展开全部 Exception类以及他的子类 的一个实例对象 比如32313133353236313431303231363533e58685e5aeb931333264633563 常见异常 1. j ...

  7. java 获取文件大小_阿里Java后端开发面经,面试官都替我感到绝望

    点关注,不迷路:持续更新Java相关技术及资讯!!! 内容源于群友投稿!记录一次阿里Java后端开发面经,分享给大家,感谢支持! 前言 秋招面试的第一家公司,也是第一次面试,真的超级紧张,从自我介绍到 ...

  8. java如果把字符串转成对象_为什么Java中的字符串对象是不可变的,有什么好处?...

    专注于Java领域优质技术号,欢迎关注 原创: 阿杜的世界 阅读本文大概需要 4分钟. 所谓不可变对象,是指一个对象在创建后,它的内部状态不会被改变的对象.这意味着当我们将一个不可变对象的引用赋值给某 ...

  9. java有几大对象_一个 Java 对象到底有多大?

    阅读本文大概需要 2.8 分钟. 出处:http://u6.gg/swLPg 编写 Java 代码的时候,大多数情况下,我们很少关注一个 Java 对象究竟有多大(占据多少内存),更多的是关注业务与逻 ...

  10. java类怎么删除对象_在java中删除一个对象?

    在java中删除一个对象? 我想删除一个我创build的对象(跟随着你的一个椭圆),但是我怎么做呢? delete follower1; 没有工作. 编辑: 好吧,我会给更多的上下文. 我正在制作一个 ...

最新文章

  1. java中static作用详解
  2. 解决windows10下面无法抓取charles数据包问题
  3. 蓝桥杯大学组python试题_第十届蓝桥杯2019年C/C++ 大学A组省赛试题
  4. 经典的 Fork 炸弹解析
  5. AJAX并不神秘:揭密各种AJAX控件和类库
  6. 日语学习-多邻国-关卡1-家庭
  7. [Luogu] 软件包管理器
  8. 核心编程第五版 配套代码_攻略Python的免费书单:走进编程,从这五本书开始...
  9. oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
  10. webpack打包初体验
  11. 微信小程序云开发如何修改后台手动添加的数据
  12. 从零开始的基于百度大脑EasyData的多人协同数据标注
  13. mysql数据库查询语句_mysql数据库查询语句
  14. 如何用计算机打出字,两个字中间的点怎么打出来?
  15. 2021华数杯数学建模选题建议
  16. 使用条件随机场模型解决文本分类问题(附Python代码)
  17. JavaScript网页特效-留言板
  18. Capital One数据泄露影响1.06亿人,嫌疑人已被捕
  19. php mail 垃圾邮件,如何避免我的邮件从PHP邮件()被标记为垃圾邮件? - 程序园
  20. 物联网这么火!物联网之下的物联网卡到底是什么样子?

热门文章

  1. 数组算法 往数组尾部添加一条数据1202
  2. 断点调试 debug模式 1006
  3. javascript 西瓜一期 05-08 计算机的基本组成
  4. css 盒模型 0302
  5. 「镁客早报」蓝色起源完成无人火箭试飞;知名对冲基金做空高通...
  6. Java程序性能优化10
  7. nfs搭建和可能的问题
  8. 应用Quick BI实现首购用户和用户首购的三种运营场景监控
  9. linux中的开机启动
  10. Vue项目构建后通过Nginx/SpringBoot/Express/Egg发布