JDK 8パラメータ名を取得(javac-parametersを開く)

1164 ワード

import java.lang.reflect.Method; import java.lang.reflect.Parameter;/**  * -parametersパラメータを使用してclassファイルにコンパイルした後、パラメータ名を保持します. * @author fuhm3  */public class TestClass {       public static void main(String[] args) throws ClassNotFoundException {         Class classObject = Class.forName("com.ai.accm.saas.service.interfaces.IStaticResourceForSaasSV");         Method[] methods = classObject.getDeclaredMethods();          for(int i=0;i             final Parameter[] parameters = methods[i].getParameters();             for(final Parameter p : parameters){                 System.out.println(p.isNamePresent()+"   "+p.getName() );             }         }         System.out.println("-------------end-------------");     } }
 
パラメータ名を保持するオプションは、コンパイルスイッチjavac -parametersによって開かれ、パラメータ名がclassファイルにコンパイルされる.
パラメータ名を保持するオプションはコンパイルスイッチjavac -parametersによってオフにされ、パラメータ名は無意味なorg 0、org 1...
ただし、javac -parametersのデフォルトはオフであり、eclipseではPreferences--compiler--store information about method parameters(usable via reflection)で開くことができます.