StringBuilder

1.StringBuilder概述

  • 如果对字符串进行拼接操作,每次拼接都会构建一个新的String对象,既耗时又浪费空间,而且这种操作还不可避免。我们可以通过StringBuilder类来解决这个问题。
  • StringBuilder是一个可变的字符串类,我们可以把它看成一个容器,这里说的可变是指StringBuilder对象中的内容是可变的。

String和StringBuilder的区别:

  • String中内容是不可变得
  • StringBuild中的内容是可变的

2.StringBuilder构造方法

构造方法活命 说明
public StringBuilder() 创建一个空白的可变字符串对象,不含有任何内容
public StringBuilder(String str) 根据字符串的内容来创建可变的字符串对象

示例:

package com.itheima_02;

public class StringBuilderDemo01 {
public static void main(String[] args) {
//StringBuilder的两种构造方法: //public StringBuilder():创建一个空白的可变字符串对象,不含有任何内容
StringBuilder sb = new StringBuilder();
System.out.println("sb:"+sb);
System.out.println("sb.length():"+ sb.length());
//public StringBuilder(String str):根据字符串的内容来创建可变的字符串对象
StringBuilder sb2 = new StringBuilder("abc");
System.out.println("sb2:"+sb2);
System.out.println("sb2.length():"+ sb2.length()); }
}

3.StringBuilder的添加和反转方法

方法名 说明
public StringBuilder append(任意类型) 添加数据,并返回对象自身
public StringBuilder reverse() 返回相反的字符串序列
//创建对象
//public StringBuilder append(任意类型)添加数据,并返回对象自身
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = sb.append("hello"); System.out.println("sb:" + sb);
System.out.println("sb2:" + sb2);
System.out.println(sb == sb2);
//因为append返回的对象自身,所以sb和sb2所指向的为同一块区域

示例:

package com.itheima_02;

public class StringBuilder02 {
public static void main(String[] args) {
//创建对象
//public StringBuilder append(任意类型)添加数据,并返回对象自身
StringBuilder sb = new StringBuilder("hello"); // sb.append("world");
// sb.append("你好");
// sb.append("世界");
// sb.append(999);
//链式编程
sb.append("world").append("你好").append("世界").append(999);
System.out.println("sb:" + sb);
//public StringBuilder reverse()返回相反的字符串序列
sb.reverse();
System.out.println("sb.reverse():"+sb); }
}

4.StringBuilder和String相互转换

4.1 StringBuilder转换为String

​ public String toString():通过toString()就可以实现把StringBuilder转换为String

//StringBuilder 转换为 String
StringBuilder sb = new StringBuilder();
sb.append("hello");
//String s = sb;//错误的做法
//public String toString():通过toString()就可以实现把StringBuilder转换为String
String s = sb.toString();
System.out.println(s);

4.2 String转换为StringBuilder

​ public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder

String s = "hello";
//StringBuilder sb = s; //错误的做法
//public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);

最新文章

  1. 如何在Windows7上完全卸载Oracle 11g(转)
  2. (转)解决Mac OS X上PhpStorm不能输入中文
  3. OAF_开发系列09_实现OAF预提取LOV设定(案例)
  4. C#学习感悟
  5. 禁用编译器自动生成的函数(Effective C++之06)
  6. HAL驱动库学习--如何使用HAL库
  7. 【转帖】四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho
  8. Apache2 CGI demo
  9. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套
  10. 网络编程(学习整理)---2--(Udp)实现简单的控制台聊天室
  11. 【递归】Vijos P1114 FBI树(NOIP2004普及组第三题)
  12. FMDB官方使用文档-GCD的使用-提高性能(翻译)
  13. 读写分离提高 SQL Server 并发性
  14. karma note
  15. ArcGIS API for JavaScript 4.2学习笔记[9] 同一种视图不同数据(Map)同步
  16. 【android studio】 gradle配置成本地离线zip包
  17. Vue slot插槽内容分发
  18. phpcms栏目点击选中
  19. bootloader研究最后一关(上)
  20. Codeforces Round #369 (Div. 2)-D Directed Roads

热门文章

  1. CSP-S T3函数调用
  2. bash脚本的判断语句之一
  3. R语言码农的Scala学习心得
  4. div垂直居中的4种方式方式
  5. bottle库上传文件
  6. SAP 常见函数
  7. Kubernetes Service发布
  8. linux 中sed命令如何删除第一列和最后一列
  9. js 时间 日期
  10. Screw数据库文档生成神器