getName只是打印构造方法的名字,你打印的是String类的构造方法,名字当然都是String了。
你可以再打印出名字后,再用getParameterTypes() 打印出参数,那样就可以得到所有的构造方法了。如:- Constructor[] constructors = String.class.getConstructors();
- for(Constructor constructor : constructors)
- {
- System.out.print(constructor.getName());
- System.out.print("(");
- Class[] clazz = constructor.getParameterTypes();
- for(Class c:clazz){
- System.out.print(c.getName()+",");
- }
- System.out.print(")");
- System.out.println();
- }
复制代码 结果:
java.lang.String()
java.lang.String(java.lang.String,)
java.lang.String([C,)
java.lang.String([C,int,int,)
java.lang.String([I,int,int,)
java.lang.String([B,int,int,int,)
java.lang.String([B,int,)
java.lang.String(java.lang.StringBuilder,)
java.lang.String([B,int,int,java.lang.String,)
java.lang.String([B,int,int,java.nio.charset.Charset,)
java.lang.String([B,java.lang.String,)
java.lang.String([B,java.nio.charset.Charset,)
java.lang.String([B,int,int,)
java.lang.String([B,)
java.lang.String(java.lang.StringBuffer,) |