我在Java中使用Reflection。我可以请一些帮助来获取构造函数参数名称和值吗?
这是我的代码:
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
是否可以获取每个参数的类型和名称?
答案 0 :(得分:6)
您已经拥有类型,并且无法获取名称(因为它们不会作为字节码的一部分保留)。
答案 1 :(得分:1)
JAVA中的反射无法显示名称。