当前位置: 首页 > news >正文

SSM之一点一滴:Object对象使用Field反射遍历书输出

SSM项目要求,需要获取object对象中的某一元素值,在此记录一下

object对象类型遍历

Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。

遍历object对象使用Field方法进行反射,如下代码

Object userfor (Field f:user.getClass().getDeclaredFields())
{   //遍历通过反射获取object的类中的属性名f.setAccessible(true);    //设置改变属性为可访问if(f.getName().equals("username")){System.out.println("属性值"+f.get(user));}
}

结果如图;

 

感觉业务需求中,使用不应该直接为object类型,使用object后在对其破坏封装,进行反向遍历,将浪费过多资源,还是在使用对象类型时,考虑好所要使用的对象类型

 

另一种解决方案

     /*** 根据属性名获取属性值* */private Object getFieldValueByName(String fieldName, Object o) {try {  String firstLetter = fieldName.substring(0, 1).toUpperCase();  String getter = "get" + firstLetter + fieldName.substring(1);  Method method = o.getClass().getMethod(getter, new Class[] {});  Object value = method.invoke(o, new Object[] {});  return value;  } catch (Exception e) {  logger.error(e.getMessage(),e);  return null;  }  } 

直接输出System.out.println(getFieldValueByName("username",user));

参考链接:

 

java获取Object属性类型、属性名称、属性值

https://www.cnblogs.com/jf8710/articles/9657920.html

 


http://www.taodudu.cc/news/show-8457222.html

相关文章:

  • how many days c语言,万年历书-C精粹的万年历C语言实例解析精粹这本书的万年历程序实在是看不懂, 爱问知识人...
  • GPS星历与历书的区别
  • GPS卫星 星历与历书的区别
  • GPS星历与历书
  • Java小白——三元运算符比较两个数获得大值
  • 小程序的三元表达式
  • 三元表达式多个判断条件
  • 三元运算符 比较三个数大小 三元操作符的类型务必一致
  • 【题解】【AcWing】3874. 三元组的最小距离
  • java 三元运算符比大小
  • 三元组的最小距离问题|数据结构常见小题05
  • 三元运算符完成三个数的大小顺序排列
  • 最小三元组距离
  • 【算法】三元组求最小距离
  • 小程序三元参数判断
  • Python算法——求解最小三元组距离
  • 求解最小三元组距离
  • maven pom.xml加载不进来
  • IDEA 中导入Maven项目Jar加载不进来
  • 怎么判断微信小程序是分享进来页面
  • 解决idea pom依赖 导入jar包导入不进来
  • maven打包成第三方jar包且把pom依赖包打入进来的方法
  • okhttp3.logging.HttpLoggingInterceptor 引不进来包问题,kotlin看不了源码
  • 关于maven打包时, 资源文件没有被打包进来的问题
  • maven打包时, 资源文件没有被打包进来的问题
  • 踩坑记录 明明存在类和依赖 但是就是import不进来 application文件不是叶子
  • 【idea与maven】idea创建springboot项目,maven 远程仓库,一部分包显示红色,jar包导入不进来(包含maven 的下载和配置)
  • Spring Cloud Eureka--关闭微服务后请求还会进来
  • 2-3. Maven依赖加载不进来?依赖加载失败?你值得掌握如何排查的方法
  • 如何在IDEA创建maven项目,并且把自身项目移进来