利用反射获取Java类中的静态变量名及变量值的简单实例

 更新时间:2016年12月30日 09:14:54   投稿:jingxian  
下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

JAVA可以通过反射获取成员变量和静态变量的名称,局部变量就不太可能拿到了。

public class Test {

  public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    //获取所有变量的值
    Class clazz = Class.forName("com.qianmingxs.ScoreTable");
    Field[] fields = clazz.getFields();

    for( Field field : fields ){
      System.out.println( field.getName() + " " +field.getInt(clazz) );
    }
    //获取单个变量的值
    /*Class clazz = Class.forName("com.qianmingxs.ScoreTable");
    Field field = clazz.getField("FIVE");
    System.out.println( field.getInt(clazz));*/
  }

}

其中要查看的Java类是:

public class ScoreTable {
  private ScoreTable() {}
  public final static int FIVE = 100;//成5
  public final static int DOUBLE_ALIVE_FOUR = 99;//双活4(分析对手用)
  public final static int ALIVE_FOUR_AND_DEAD_FOUR = 98;//活4死4(对手分析用)
  public final static int ALIVE_FOUR_AND_ALIVE_THREE = 96;//活4活3(分析对手用)
  public final static int ALIVE_FOUR_AND_DEAD_THREE = 95;//活4死3(分析对手用)
  public final static int ALIVE_FOUR_AND_ALIVE_TWO = 94;//活4活2
  public final static int ALIVE_FOUR = 93;//活4
  public final static int DOUBLE_DEAD_FOUR = 92;//双死4
  public final static int DEAD_FOUR_AND_ALIVE_THREE = 91;//死4活3
  public final static int DEAD_FOUR_AND_ALIVE_TWO = 90;//死4活2
  public final static int DOUBLE_ALIVE_THREE = 80;//双活3
  public final static int ALIVE_THREE_AND_DEAD_THREE = 70;//活死3
  public final static int HALF_ALIVE_FOUR = 65;//半活4(类似○○ ○形),优先级小于活4
  public final static int ALIVE_THREE = 60;//活3
  public final static int DEAD_FOUR = 50;//死4
  public final static int DOUBLE_ALIVE_TWO = 40;//双活2
  public final static int DEAD_THREE = 30;//死3
  public final static int ALIVE_TWO = 20;//活2
  public final static int DEAD_TWO = 10;//死2
  public final static int SINGLE = 0;//单个
}

以上这篇利用反射获取Java类中的静态变量名及变量值的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中使用Lambda表达式和函数编程示例

    Java中使用Lambda表达式和函数编程示例

    这篇文章介绍了Java中使用Lambda表达式和函数编程示例,该文章会演示多个示列,分别是变量声明上下文中的lambda、return语句上下文中的lambda、赋值上下文中的lambda、lambda在数组初始值设定项上下文中的用法等等,需要的朋友可以参考一下
    2021-10-10
  • Java Maven高级之插件开发详解

    Java Maven高级之插件开发详解

    这篇文章主要介绍了Maven 插件开发的详细整理的相关资料,需要的朋友可以看下,希望能够给你带来帮助
    2021-09-09
  • 如何给Cacheable的key加上常量

    如何给Cacheable的key加上常量

    这篇文章主要介绍了如何给Cacheable的key加上常量的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java如何不解压读取.zip的文件内容

    Java如何不解压读取.zip的文件内容

    这篇文章主要给大家介绍了关于Java如何不解压读取.zip的文件内容的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • RabbitMQ消息队列实现延迟任务示例

    RabbitMQ消息队列实现延迟任务示例

    这篇文章主要为大家介绍了RabbitMQ消息队列实现延迟任务示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Java 10 局部变量类型推断浅析

    Java 10 局部变量类型推断浅析

    这篇文章主要介绍了Java 10 局部变量类型推断浅析,Java 10 引进一种新的闪闪发光的特性叫做局部变量类型推断。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • SpringBoot返回结果统一处理实例详解

    SpringBoot返回结果统一处理实例详解

    这篇文章主要为大家介绍了SpringBoot返回结果统一处理实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • java实现飞机大战案例详解

    java实现飞机大战案例详解

    这篇文章主要为大家详细介绍了java实现飞机大战案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • Springboot MBean使用示例解析

    Springboot MBean使用示例解析

    这篇文章主要为大家介绍了Springboot MBean使用示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 一文秒懂IDEA中每天都在用的Project Structure知识

    一文秒懂IDEA中每天都在用的Project Structure知识

    这篇文章主要介绍了一文秒懂IDEA中每天都在用的Project Structure知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10

最新评论