本帖最后由 夏晓彤 于 2013-3-9 14:39 编辑
下面一断代码是得到String的所有的构造方法的代码,我想获得所有构造函数和参数类型,打印格式就不设计了,能看懂就行了,,一开始,我认为 constructor.getName();就可以直接把构造函数和参数类型搞定呢,后来翻了翻API,然后又看看了张老师后面的视频。获取参数类型有getParameterTypes()这个方法,
下面加个getParameterTypes();好多了,但是打印出来就有效果了,但是还是有看不懂的地方。namejava.lang.String paramname [C 中 [C什么意思?,为什么不都是是namejava.lang.String paramname java.lang.StringBuffer这种形式的,还有最后为什么打印2次"下一个"?
public static void main(String[] args) throws Exception{
Constructor[]constructors = Class.forName("java.lang.String").getConstructors();
for(Constructor constructor:constructors){
String name = constructor.getName();
Class[] clazzs = constructor.getParameterTypes();
for(Class clazz : clazzs){
String paramname = clazz.getName();
System.out.println("name"+name+" name1 "+paramname);
}
System.out.println("下一个");
}
打印结过
namejava.lang.String paramname [C
namejava.lang.String paramname int
namejava.lang.String paramname int
下一个
namejava.lang.String paramname [I
namejava.lang.String paramname int
namejava.lang.String paramname int
下一个
namejava.lang.String paramname [B
namejava.lang.String paramname int
namejava.lang.String paramname int
namejava.lang.String paramname int
下一个
namejava.lang.String paramname [B
namejava.lang.String paramname int
下一个
namejava.lang.String paramname [C
下一个
namejava.lang.String paramname java.lang.String
下一个
namejava.lang.String paramname [B
namejava.lang.String paramname java.lang.String
下一个
namejava.lang.String paramname [B
namejava.lang.String paramname int
namejava.lang.String paramname int
下一个
namejava.lang.String paramname [B
下一个
namejava.lang.String paramname java.lang.StringBuffer
下一个
namejava.lang.String paramname java.lang.StringBuilder
下一个
namejava.lang.String paramname [B
namejava.lang.String paramname int
namejava.lang.String paramname int
namejava.lang.String paramname java.lang.String
下一个
下一个
|
|