A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高庆亮 黑马帝   /  2011-11-17 19:50  /  1954 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


public class Test {

       
        public static void main(String[] args) {
           Class clazzProxy1 = Proxy.getProxyClass(Collection.class.getClassLoader(), Collection.class);
                System.out.println(clazzProxy1.getName());
               
                Constructor[] constructors = clazzProxy1.getConstructors();
                for(Constructor constructor:constructors){
                        String name = constructor.getName();
                        StringBuilder sBuilder =  new StringBuilder(name);                        sBuilder.append("(");
                        Class[] clazzParams = constructor.getParameterTypes();
                        for(Class clazzParam:clazzParams)
                        {
                                sBuilder.append(clazzParam.getName()).append(',');
                        }
                        sBuilder.append(")");
                }
               
        }

}
上面红色字体在StringBuilder()里的name是什么意思啊?为什么要把name传进去呢?我没明白!

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
咪咪 来自手机 黑马帝 2011-11-17 23:27:21
沙发
stringbuilder有带字符串参数的构造函数,stringbuilder是一个可变的字符序列,既然带参数说明在创建这个字符序列时初始化这个序列的内容就为传进来的name值。
回复 使用道具 举报
  StringBuilder sBuilder =  new StringBuilder(name);

  StringBuilder sBuilder =  new StringBuilder();
aBuilder.append(name);
效果一样
回复 使用道具 举报
梁锡伟 发表于 2011-11-18 00:38
StringBuilder sBuilder =  new StringBuilder(name);

  StringBuilder sBuilder =  new StringBuilder( ...

这么说我好像懂了!
回复 使用道具 举报
这个的意思就是在初始化sBuilder的时候就将把name的值赋给它
回复 使用道具 举报
name其实就是上一行的内容,那么代表constructor.getName();,就是让其内容添加到里面去。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马