public class ClassUtil {

private static final String METHOD_PREFIX = "get"; // 约定俗称的getter()方法前缀

/**

* 根据field名称获取field的值

* 当field允许直接获取的时候,直接返回

* 否则通过查找约定俗称的get+Field(field首字母大写)的公共成员方法来获取

* 最后直接返回null

*

* @param object

* @param fieldName

* @return Object

* @throws UnsupportedOperationException

*/

public static Object getValueByFieldName(Object object, String fieldName) {

if (object == null || fieldName == null || fieldName.isEmpty()) {

return null;

}

Object value = null;

Class objectClass = object.getClass();

try {

Field field = objectClass.getField(fieldName);

if (field != null) {

if (field.isAccessible()) {

try {

value = field.get(object);

return value;

} catch (Exception e) {

// since we have checked the field by Class.getField method,so this won't happened

}

} else {

String methodName = METHOD_PREFIX + fieldName.substring(0, 1).toUpperCase()

+ fieldName.substring(1);

try {

Method method = objectClass.getMethod(methodName, null);

if (method != null && !method.isAccessible()) {

try {

value = method.invoke(object, null);

} catch (IllegalArgumentException e) {

} catch (IllegalAccessException e) {

} catch (InvocationTargetException e) {

throw new RuntimeException(e);

}

return value;

}

} catch (NoSuchMethodException e) {

// since we can't find this method,so just break and return null

}

}

}

} catch (SecurityException e) {

} catch (NoSuchFieldException e) {

}

return value;

}

}

java获取指定属性名_获取指定属性名的属性值简易方法相关推荐

  1. java jsp取静态常量_获取java静态

    Android NDK开发系列教程4:对类变量进行操作 终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 通常我们 ...

  2. py获取前端的参数_获取百度指数

    百度指数简介 百度指数有一个详细的帮助文档,下面列出来的几个点是我的个人总结: 百度指数是度量网民搜索量多寡的指数,可以用来描述社会对某某某的关注度. 百度指数大众版不要钱,百度指数专业版要钱,但不对 ...

  3. python输入名字配对情侣网名_定制情侣网名输入名字

    5字经典情侣网名大全一对:感情的倔强 |执着的梦想 时光恋人i ♥ 时光爱人i毕竟你是光 ♥ 我无法独享祖国小嫩草 ♥ 祖国小花朵流年,残颜 &heartqq情侣网名 06-02|查看全文 在 ...

  4. c#数组获取元素的索引_获取元素集合 从C#中的指定索引

    c#数组获取元素的索引 Given a Collection<T> of integer types, and an index, we have to access the elemen ...

  5. java 获取xml所有节点_获取XML下的所有节点(父节点及子节点)

    展开全部 xml结构 本方案用来解决XML根据父节点的属性得到指定子节点的属性的值 需要的jar包: jar包本方案的xml结构为以下格式62616964757a686964616fe58685e5a ...

  6. java当前时间推前三个月_获取当前时间的前三个月 java

    java获取当前路径的几种方法 1.利用System.getProperty()函数获取当前路径:  System.out.println(System.getProperty("user. ...

  7. java获取url中参数_获取url参数(java / js)

    (1)js // 获取url参数 function getQueryString(url, name) { console.log("url = " + url) console. ...

  8. java 获取cer证书指纹_获取SSL证书的指纹

    每一张SSL证书都有指纹(fingerprint)信息,若要获取,可以通过openssl或者certutil工具,分别在非Windows和Windows平台下使用 基本语法:openssl x509  ...

  9. python中的字体英文名_获取中文字体的英文名字

    (方法在分割线后面,前面叙事) 今天用了很久电脑,突然就觉得看着Windows下Chrome的字体觉得很不舒服,跟Mac下的差太远了,于是就开始折腾怎么设置浏览器字体. 先讲一下流程,我的操作方案是: ...

  10. java jnlp 靠谱吗_获取当前的JNLP信息

    有各种策略来实现预期目标 . 我不会重新审视那些已经提到过的,而是重复几个 . 1)信息可以放在档案的清单中 . 可以使用java.lang.Package类的方法检索它 . String title ...

最新文章

  1. switch里能不能用continue?
  2. POJ 计算几何入门题目推荐
  3. 如何测试一个电梯,测试方案及测试用例
  4. 获取访客进站关键词_拼多多访客突然下降是为什么?拼多多访客突然暴涨又是怎么回事?...
  5. js验证固定电话、手机号码(代码大全)
  6. java移动接口发短信_天天都会写接口,但它的用途和好处有多少人能说得清楚?...
  7. 获取aplicationContext对象,从而获取任何注入的对象
  8. office communications server 2007 标准版部署详细步骤及错误分析
  9. TypeError: this.getResolve is not a function
  10. 频谱分析仪原理结构图
  11. 知识图谱概念与知识图谱构建流程(KGC)总览
  12. 3709: [PA2014]Bohater
  13. insmod 时报错“Unknown symbol”问题的解决
  14. 辽宁启迪电商:拼多多选款对于店铺权重提高有帮助吗?
  15. (二)QT5.14.2连接MySQL并使用QtableView显示数据表内容
  16. 恒大健康:自称股东的FF员工提起集体诉讼 无理控告我们
  17. 四阶魔方java1002四阶魔方java_魔方小站四阶魔方视频教程 包你学会的魔方教程(魔方玩法视频教程+还原公式图解+3D动画)...
  18. 美女MVP教你轻松学习Excel VBA-方洁影-专题视频课程
  19. linux windows 运维比较,linux与windows的比较_系统运维_linux操作_linux系统_课课家
  20. 关于缺少msvcp110.dll

热门文章

  1. mysql百万数据生成
  2. 【安全组网】思科IOS设备基础应用
  3. 译:在C#中使用LINQ To SQL
  4. 也谈zabbix性能优化
  5. 时间+地区 选择器
  6. 基于java的安卓app_Android应用的开发(基于Android 8)遇到的问题
  7. 每周更新:Element、Vant新版本更新、IntelliJ IDEA 2019.1 发布 RC 候选版、企业级 UI 设计语言Ant Design 3.15.2 发布
  8. input输入框大小设置_Qualtrics调查问卷设计1-如何在输入框前后添加辅助文字
  9. PHP curl get post 请求的封装
  10. easyui输入框模糊查询