簡體   English   中英

通過Java反射構造函數參數

[英]Constructor Parameters Via Java Reflection

我在Java中使用反射。 我可以請一些幫助來獲取構造函數參數名稱和值嗎?

這是我的代碼:

  public String getConstructors(Class aClass)
  {
  StringBuilder ClassConstructors = new StringBuilder();
  Constructor[] Constructors = aClass.getConstructors();
  String separator = System.getProperty( "line.separator" );
  for (Constructor c: Constructors)
  {
      boolean isPublic = Modifier.isPublic(c.getModifiers());
      Class[] parameterTypes = c.getParameterTypes();
      for (Class pt : parameterTypes)
      {
          System.out.println(pt.getName());
          //Field[] Fields = pt.getDeclaredFields();
          //for (Field f : Fields) 
          //{
              //System.out.println(f.getType());
          //}
      }
  }
  return ClassConstructors.toString();

}

我正在測試的構造函數具有以下參數:

String Name, int Diameter

System.out.println(pt.getName()); 這行代碼當前正在打印以下內容:

java.lang.String
int

是否可以獲取每個參數的類型和名稱?

您已經擁有類型,並且無法獲取名稱(因為它們不會作為字節碼的一部分保留)。

名稱在JAVA中無法通過反射獲得。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM