zoukankan      html  css  js  c++  java
  • 使用java中的反射获得object对象的属性值

    知识点:使用java中的反射获得object对象的属性值

    一:场景

    这两天开发代码时,调用别人的后台接口,返回值为Object对象(json形式的),我想获得object中指定的属性值,没有对应的get方法,也不像在js中用object.属性获得,这里可以通过反射获得了Object对象的属性值。

    二:实例

     如上我想获得object对象的data中的一个属性值eventId,就可以使用反射获得data的属性值,之后强转类型即可。

    代码如下:

       Object entitySave = subEventService.save(entity);

    //反射获取object的data属性值(subEvent中的eventId)
    String eventId = null;
    Class jsonClass = entitySave.getClass();//通过entitySave的Object对象,获取运行时类的对象
    Field dataField = null;
    try {
        //获取object中的data属性
    dataField = jsonClass.getDeclaredField("data");
    dataField.setAccessible(true);//设置data属性为可访问的

    SubEvent tempSubEvent= new SubEvent();
    try {
    //通过Field.get(Object)获取object的data(SubEvent)中的eventId属性
    tempSubEvent = (SubEvent) dataField.get(entitySave);
    eventId = tempSubEvent.getEventId();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    }
    } catch (NoSuchFieldException e) {
    e.printStackTrace();
    }
  • 相关阅读:
    正则表达式的总结
    网络搭建的四种方式
    argparse的总结详情
    错误记录
    8x8点阵的原理及代码实现
    __pycache__的认识记录
    浏览器渲染原理及流程
    javascript 中 async/await 的用法
    浏览器的进程和线程
    JS 对象toString 和 valueof 方法
  • 原文地址:https://www.cnblogs.com/shuaifing/p/11132222.html
Copyright © 2011-2022 走看看