当前位置: 首页 > news >正文

Java基础编程练习第31题-String类和StringBuffer类

1.String类        

        是不可变类,即一个String对象所包含的字符串,其内容和大小永远不会被改变,只能对这个字符串进行查找、比较等操作不能添加新的字符,不能改变字符串的长度

2.StringBuffer类

        是可变类,它们所包含的字符串可以进行添加和删除字符的操作。

举个例子:

// 使用 String 类
String str = "Hello";
str += " World"; // 实际上创建了一个新的 String 对象
System.out.println(str); // 输出 "Hello World"

// 使用 StringBuffer 类
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World"); // 修改了原 StringBuffer 对象的内容
System.out.println(sb.toString()); // 输出 "Hello World"

在这个例子里:String类的操作过程和StringBuffer类的操作过程看似相同实则不一样。既:

// String 类的操作过程
String str1 = "Hello"; // 创建一个 String 对象,内容为 "Hello"
String str2 = str1 + " World"; // 创建一个新的 String 对象,内容为 "Hello World"
// 此时,str1 仍然指向 "Hello",而 str2 指向新的字符串 "Hello World"

//在这个例子中,我们首先使用 String 类创建了一个字符串 “Hello”,
然后尝试通过 += 操作符来拼接另一个字符串 " World"。在底层,
这实际上是通过创建一个新的 String 对象来完成的,
原来的 “Hello” 字符串对象没有被修改。
// StringBuffer 类的操作过程
StringBuffer sb = new StringBuffer("Hello"); // 创建一个 StringBuffer 对象,内容为 "Hello"
sb.append(" World"); // 在原有对象上追加 " World",内容变为 "Hello World"
// 此时,sb 仍然是指向同一个 StringBuffer 对象,但其内容已经改变


而对于 StringBuffer 类,
我们创建了一个初始内容为 “Hello” 的 StringBuffer 对象。
当我们调用 append 方法来拼接 " World" 时,
这个操作是在原有对象上进行的,没有创建新的对象。
这意味着 StringBuffer 对象的内容被修改了,而不是替换。

相关文章:

  • 什么是 slot-scope?怎么理解。
  • 平安养老险深圳分公司积极开展2025年“3·15”金融消费者权益保护教育宣传活动
  • 19.如何使用 pandas 处理大型 Excel 文件:并行读取工作表
  • Spark 中创建 DataFrame 的2种方式对比
  • 【统计学相关笔记】抽样基本定理的证明
  • Linux与深入HTTP序列化和反序列化
  • 【LeetCode】622、设计循环队列
  • LuaJIT 学习(4)—— FFI 语义
  • JavaScript进阶篇:二、 对象与面向对象编程
  • 组合Ⅲ 力扣216
  • 卫语句优化多层if else嵌套
  • Typora最新版破解教程
  • 最新版VMware 17.6.3安装包分享
  • 功耗电流和耗电量的获取
  • 大数据 spark hive 总结
  • react(一):特点-基本使用-JSX语法
  • 【大模型(LLMs)RAG 检索增强生成 面经】
  • 【HTML】二、列表、表格
  • 【JAVA】七、基础知识“if+switch+循环结构”详细讲解~简单易懂!
  • Trae:与AI结伴,开启编程新体验
  • 汽车电子商务网站建设规划书/做网页用什么软件好
  • ASP动态网站开发案例指导/整合营销是什么
  • 免费永久网站建设/哪些网站有友情链接
  • 南昌疫情最新通报/安卓手机优化软件排名
  • 用vs2015做网站/免费搭建网站
  • 全景网站如何建设/西安做网站