1. 程式人生 > >java反射獲取引數名,idea如何開啟-parameters

java反射獲取引數名,idea如何開啟-parameters

在8以前的jdk版本的時候,我們利用反射只能獲取到引數型別,然後引數名字都是利用arg0,arg1,arg2......所以在使用一些反射程式設計方面上不是很方便,jdk8開始開闢了這項function,但是我們正常情況下使用jvm不會預設保留引數名字,因為這個可能導致class檔案過大或其他問題,所以我們如果需要可以自行開啟,下面說下idea怎麼開啟parameters

1.File->Settings->Build,Execution,Deployment->Compiler->Java Compiler

2在 Additional command line parameters: 後面填上 -parameters,如下圖


3 填好後,再將專案重新build一下,如下圖


ok了

下面是一段測試程式碼,大家可以看看

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;


public class Test {

        public void createUser(String name, int age, int version) {
        }
        
        public static void main(String[] args) throws Exception {
            for (Method m : Test.class.getMethods()) {
                System.out.println("--------------------");
                System.out.println(" method: " + m.getName());
                System.out.println(" return: " + m.getReturnType().getName());
                for (Parameter p : m.getParameters()) {
                    System.out.println("parameter:" + p.getType().getName() + ", " + p.getName());
                }
            }
        }
    }