专栏首页洞明学问Java 反射获取数据

Java 反射获取数据

反射获取成员变量

使用 Sql2o 方法读取数据库的时候,发现表名类似,但是有一些差别,如果使用 select * 方式查询,需要针对对象声明多个内容,但是实际上用的都是一样的,所以想通过获取成员变量的名称来拼接成 select 后面的内容,经过尝试,发现可以用下面的方法获取:

public String allName(){
    String allName = "";
    Field[] fields = this.getClass().getDeclaredFields();
    for(Field field : fields){
        allName += field.getName() + ",";
    }
    return allName.substring(0, allName.length() -1);
}

这样之后,调用 allName() 方法就能直接获取对应的变量名称了。

反射获取父类实例化对象中的值

try {
    Field[] fields = super.getClass.getDeclaredFields();
    for (Field field : fields) {
        field.setAcessible(true);
        Method method = super.getClass().getDeclaredMethod("get" + upperHeadChar(field.getName()));
        Object obj = method.invoke(super);
        field.set(this, obj);
    }
} catch (NoSuchMethodException | IllegalAcessException | InvocationTargetException e){
    e.printStackTrace();
}

private static String upperHeadChar(String in){
    String head = in.substring(0,1);
    return head.toUpperCase() + in.substring(1);
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java 反射获取父类实例化对象中的值

    zucchiniy
  • Java 反射获取成员变量名称

    使用 Sql2o 方法读取数据库的时候,发现表名类似,但是有一些差别,如果使用 select * 方式查询,需要针对对象声明多个内容,但是实际上用的都是一样的,...

    zucchiniy
  • XPath 使用笔记

    XPath 是 XML 的查询语言,和 SQL 的角色很类似。以下面 XML 为例,介绍 XPath 的语法

    zucchiniy
  • Python-科学计算-seaborn-03-箱形图

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3....

    zishendianxia
  • mint-ui的search组件如何在键盘显示搜索按钮

    <form action="" target="frameFile"> <mt-search v-model="value" placeholder="请...

    蓓蕾心晴
  • 我常用的IDEA插件大公开,个个是精品!

    macrozheng
  • 【漏洞告知】CVE-2020-5902 F5 RCE

    F5提供业界领先的成套集成产品和服务。F5的产品能够消除带宽拥塞,并提高关键任务互联网服务器和应用系统的可用性和速度,其中包括Web发布、内容提...

    Aran
  • 使用HLAscan进行HLA分型

    HLAScan是由韩国的科研团队开发的一款HLA分型工具,可以处理WGS, WES和目标区域捕获测序的数据,将reads与IMGT/HLA数据库中的reads进...

    生信修炼手册
  • SNP2HLA学习笔记

    HLA基因,位于6号染色体上短臂上,长约4000Kb。HLA是目前所知人体最复杂的遗传多态性系统,有几十个基因座位,每个基因座位又有几十个等位基因,且呈共显性表...

    用户1075469
  • marker基因的表达量可视化

    之前的分析都是基于第一个病人的PBMC,这次将基于这位病人的tumor:GSE117988_raw.expMatrix_Tumor.csv.gz

    生信技能树jimmy

扫码关注云+社区

领取腾讯云代金券