您现在的位置是:首页 >

降压反射的机制及意义 Java反射机制获取内部类的静态成员

火烧 2022-10-04 08:42:52 1027
Java反射机制获取内部类的静态成员   最近需要些一个可配置的索引构建程序 需要在运行时调用Luce e包的如下类及其成员   引用  Ne ted Cla Summary   tatic cla

Java反射机制获取内部类的静态成员  

  最近需要些一个可配置的索引构建程序 需要在运行时调用Lucene包的如下类及其成员

  引用

  Nested Class Summary

  static class Field Index

  Specifies whether and how a field should be indexed

  static class Field Store

  Specifies whether and how a field should be stored

  static class Field TermVector

  Specifies whether and how a field should have term vectors

  lucene api中称之为Nested Class 意为嵌套类 而嵌套类内部的File Index的成员又是静态成员

  引用

  Field Summary

  static Field Index ANALYZED

  Index the tokens produced by running the field s value through an Analyzer

  static Field Index ANALYZED_NO_NORMS

  Expert: Index the tokens produced by running the field s value through an Analyzer and also separately disable the storing of norms

  static Field Index NO

  Do not index the field value

  static Field Index NO_NORMS

  Deprecated This has been renamed to NOT_ANALYZED_NO_NORMS

  static Field Index NOT_ANALYZED

降压反射的机制及意义 Java反射机制获取内部类的静态成员

  Index the field s value without using an Analyzer so it can be searched

  static Field Index NOT_ANALYZED_NO_NORMS

  Expert: Index the field s value without an Analyzer and also disable the storing of norms

  static Field Index TOKENIZED

  Deprecated this has been renamed to ANALYZED

  static Field Index UN_TOKENIZED

  Deprecated This has been renamed to NOT_ANALYZED

  一个棘手的问题 如果获得这些内部静态成员?

  最后采用了如下方法

  //运行时调用Filed Index类型

  Java代码

  Class<?> cls = apache lucene document Field Index class;

  java lang reflect Field indexDeclareField = cls getDeclaredField(field getIndex());

  Object indexDeclareFieldType = indexDeclareField get(cls);

   apache lucene document Field Index filedIndex = ( apache lucene document Field Index)indexDeclareFieldType;

  //运行时调用Field Store类型

  Class<?> clsStore = apache lucene document Field Index class;

  java lang reflect Field storeDeclareField = cls getDeclaredField(field getIndex());

  Object indexStoreDeclareField = indexDeclareField get(cls);

lishixinzhi/Article/program/Java/hx/201311/26078  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码