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();
    }
  • 相关阅读:
    android matrix
    canvas变换
    Gradle常用命令
    android View实现变暗效果
    常用设计模式
    Android无埋点数据收集SDK关键技术
    如何打开小米,oppo,华为等手机的系统应用的指定页面
    Android 性能优化
    SpringBoot入坑-请求参数传递
    SpringBoot入坑-配置文件使用
  • 原文地址:https://www.cnblogs.com/shuaifing/p/11132222.html
Copyright © 2011-2022 走看看