《Java编程思想》读书笔记 第十三章 字符串
发布日期:2021-08-29 16:14:29
浏览次数:16
分类:技术文章
本文共 1315 字,大约阅读时间需要 4 分钟。
《Java编程思想》读书笔记 第十三章 字符串
不可变String
String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以及包含修改后的字符串内容,而最初的String对象则丝毫未动
换句话说:任何对String的改变都会引发新的对象的生成
StringBuilder和StringBuffer
StringBuilder:线程不安全的
StringBuffer:线程安全的,要维持同步锁,因此效率低
public static void testString() { long start = System.currentTimeMillis(); String str = null; for (int i = 0; i < 200000; i++) str = str + i + ","; System.out.println(System.currentTimeMillis() - start); } public static void testStringBuffer() { long start = System.currentTimeMillis(); StringBuffer sbf = new StringBuffer(); for (int i = 0; i < 200000; i++) sbf.append(i + ","); System.out.println(System.currentTimeMillis() - start); } public static void testStringBuilder() { long start = System.currentTimeMillis(); StringBuilder sbl = new StringBuilder(); for (int i = 0; i < 200000; i++) sbl.append(i + ","); System.out.println(System.currentTimeMillis() - start); } public static void main(String[] args) { testString(); testStringBuffer(); testStringBuilder(); }可以很明显的看出来:效率:StringBuilder > StringBuffer > String
三者使用情景:
- 如果要操作少量的数据 --> String
- 单线程中,在字符串缓冲区下操作大量数据 --> StringBuilder
- 多线程中,在字符串缓冲区下操作大量数据 --> StringBuffer
转载地址:https://blog.csdn.net/weixin_34007291/article/details/90525060 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月01日 21时01分44秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
蓝桥杯 - [2014年第五届真题]分糖果(模拟)
2019-04-28
蓝桥杯 - [2013年第四届真题]大臣的旅费(DFS)
2019-04-28
蓝桥杯 - [2013年第四届真题]带分数(全排列)
2019-04-28
蓝桥杯 - [2013年第四届真题]幸运数(模拟)
2019-04-28
蓝桥杯 - [2013年第四届真题]横向打印二叉树(排序二叉树)
2019-04-28
蓝桥杯 - [历届试题]网络寻路(枚举)
2019-04-28
牛客网 - [中南林业科技大学第十一届程序设计大赛]兑换零钱(背包问题)
2019-04-28
HDU - Robberies(01背包)
2019-04-28
HDU - 最大报销额(01背包|贪心)
2019-04-28
HDU - Coins(完全背包)
2019-04-28
JXFCZX — 砝码称重1(DFS+背包)
2019-04-28
JXFCZX — 质数和分解(完全背包)
2019-04-28
JXFCZX — 花店橱窗(动态规划)
2019-04-28
JXFCZX — 逃亡的准备(多重背包)
2019-04-28
JXFCZX — 庆功会(多重背包)
2019-04-28
AcWing - 扩展欧几里得算法(扩欧)
2019-04-28
AcWing - 高斯消元解线性方程组(高斯消元)
2019-04-28
AcWing - 求组合数 I(递推)
2019-04-28
AcWing - 求组合数 II(预处理&逆元)
2019-04-28
AcWing - 求组合数 III(lucas&逆元)
2019-04-28