栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

可变字符串(StringBuffer, StringBuilder)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

可变字符串(StringBuffer, StringBuilder)

可变字符串
  • StringBuffer:可变长字符串,JDK1.0提供,运行效率慢、线程安全。
  • StringBuilder:可变长字符串,JDK1.5提供,运行效率快、线程不安全。
  • 方法:append(),insert(),replace(),delete(),reverse()
package com.jacyzhu.string;


public class Demo04 {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
//         StringBuilder sb = new StringBuilder();
        // 1.append();追加
        sb.append("java世界第一");
        System.out.println(sb); // java世界第一
        System.out.println(sb.toString()); // java世界第一

        sb.append("java真香");
        System.out.println(sb.toString()); // java世界第一java真香

        sb.append("java不错");
        System.out.println(sb.toString()); // java世界第一java真香java不错

        // 2.insert(); 添加
        sb.insert(0, "我在最前面");
        System.out.println(sb.toString()); // 我在最前面java世界第一java真香java不错

        // 3.replace();
        sb.replace(0, 5, "hello");
        System.out.println(sb.toString()); // hellojava世界第一java真香java不错

        // 4.delete(); 删除
        sb.delete(0, 5);
        System.out.println(sb.toString()); // java世界第一java真香java不错

        // 5.反转
        sb.reverse();
        System.out.println(sb.toString()); // 错不avaj香真avaj一第界世avaj

        // 6.清空
        System.out.println(sb.length()); // 20
        sb.delete(0, sb.length());
        System.out.println(sb);
        System.out.println(sb.length()); // 0
    }
}
运行结果:
java世界第一
java世界第一
java世界第一java真香
java世界第一java真香java不错
我在最前面java世界第一java真香java不错
hellojava世界第一java真香java不错
java世界第一java真香java不错
错不avaj香真avaj一第界世avaj
20

0
验证StringBuilder效率高于String
package com.jacyzhu.string;

// 验证StringBuilder效率高于String
public class Demo05 {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
//        String string = "";
//        for (int i = 0; i < 99999; i++) {
//            string += i;
//        }
//        System.out.println(string);

//        StringBuffer sb = new StringBuffer();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < 99999; i++) {
            sb.append(i);
        }
        System.out.println(sb.toString());
        long end = System.currentTimeMillis();
        System.out.println("用时:"+(end-start)); // String用时:16794  StringBuffer用时:14  StringBuilder用时:13
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1041219.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号