java学习第十一课

本节课所学内容
回顾 String 不可变性:频繁字符串拼接会不断生成新对象,大量占用堆内存,运行效率低下;
StringBuilder 类的创建、append 追加、toString 转换、删除、截取、反转等常用方法;
StringBuffer 与 StringBuilder 的区别:StringBuffer 线程安全、效率偏低,StringBuilder 非线程安全、运行更快;
实战练习:利用 StringBuilder 优化循环拼接场景,替代以往+拼接字符串的写法。
学习中遇到的问题
受之前习惯影响,写循环拼接代码时,下意识还是用字符串+变量的写法,写完运行后才想起低效问题。
初期混淆两个类的使用场景,分不清什么时候选用 StringBuffer、什么时候用 StringBuilder,一度纠结二者语法差异,其实二者方法几乎完全一致,区别只在线程安全。
调用 reverse () 反转、delete () 删除区间下标时,偶尔出现下标越界,和数组、字符串下标规则混淆,调试后慢慢熟练。
与 C/C++ 简单对比
C++string 可以直接就地修改字符,Java String 固定不可变,必须借助工具类做动态修改;
C++ 没有封装专门的高效字符串缓冲类,拼接优化需要手动管理内存,Java 直接提供成熟工具类,上手简单;
Java 区分了线程安全版本与普通版本,适配多线程、单线程不同开发场景,C++ 需要开发者自行做同步锁控制,门槛更高。

posted @ 2026-08-01 21:57  梁煜昊  阅读(9)  评论(0)    收藏  举报