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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kongdun1991 中级黑马   /  2016-5-31 18:36  /  375 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Demo {
        public static void main(String[] args) {
                String s1 = "hello";
                s1 += "World";
                s1 += "我爱Java";
                System.out.println(s1);
               
                StringBuffer buf = new StringBuffer();
                buf.append(true);
                buf.append(10);
                buf.append(3.14);
                buf.append("hello");
                buf.append("world");
                buf.append("我爱Java");
               
        //        String s = "true" + "10" + "3.14" + "hello" + "world" + "我爱Java";
               
               
                System.out.println(buf.toString());
               
                StringBuffer buf2 = new StringBuffer();
                StringBuilder bil = new StringBuilder();
               
                long start = System.currentTimeMillis();
                for(int i = 0;i < 10000; i++){
                        for(int j = 0; j < 5000 ; j++){
                        //        buf2.append(i);
                                bil.append(i);
                        }
                }
                long end = System.currentTimeMillis();
                System.out.println("buffer用时:" + (end - start) + " 毫秒!");//2532毫秒
                System.out.println("Builder用时:" + (end - start) + " 毫秒!");//1406毫秒
        }
}

StringBuffer使用append()方法添加字符串是,比如:
                StringBuffer buf = new StringBuffer();
                buf.append(true);
                buf.append(10);
                buf.append(3.14);
                buf.append("hello");
                buf.append("world");
                buf.append("我爱Java");
对象buf的引用是一致固定不变的吗?它追加的字符串需要先在方法区中的常量池生成吗?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马