第4章StringBuilder类
4.1StringBuilder类概述
StringBuilder:是一个可变的字符串。字符串缓冲区类。
String和StringBuilder的区别:
String的内容是固定的
StringBuilder的内容是可变的
4.1.1+=拼接字符串耗费内存原因:
每次拼接都会产生新的字符串对象,而利用StringBuilder来拼接字符串自始至终用的都是同一个StringBuilder容器
4.2StringBuilder类的常用方法
A:构造方法:
public StringBuilder()
public StringBuilder(String str)
B:成员方法:
public String toString():返回此序列中数据的字符串表示形式。
public StringBuilder append(任意类型):添加数据,并返回对象本身。
public StringBuilder reverse():字符串本身进行反转
4.2.1案例代码十:
package com.itheima_01;
/*
-
StringBuilder:是一个可变的字符串类。
-
String和StringBuilder的区别:
-
String的内容是固定的。
-
StringBuilder的内容是可变的。
-
构造方法
-
public StringBuilder()
-
public StringBuilder(String str)
-
public String toString():返回此序列中数据的字符串表示形式。
*/
public class StringBuilderDemo {
public static void main(String[] args) {
//public StringBuilder()
StringBuilder sb = new StringBuilder();
System.out.println(“sb:”+sb);
System.out.println(sb.length());
System.out.println("----------------");//public StringBuilder(String str) StringBuilder sb2 = new StringBuilder("helloworld"); System.out.println("sb2:"+sb2); System.out.println(sb2.length());
}
}
4.2.2案例代码十一:
package com.itheima_02;
/*
- 添加功能
-
public StringBuilder append(任意类型):添加数据,并返回对象本身。
- 反转功能
-
public StringBuilder reverse()
*/
public class StringBuilderDemo {
public static void main(String[] args) {
//创建对象
StringBuilder sb = new StringBuilder();
//public StringBuilder append(任意类型)
/*
StringBuilder sb2 = sb.append("hello");
System.out.println("sb:"+sb);
System.out.println("sb2:"+sb2);
System.out.println(sb == sb2);//true
*/
/*
sb.append("hello");
sb.append("world");
sb.append(true);
sb.append(100);
*/
//链式编程
sb.append("hello").append("world").append(true).append(100);
System.out.println("sb:"+sb);
//public StringBuilder reverse()
sb.reverse();
System.out.println("sb:"+sb);
}
}
4.3StringBuilder案例
4.3.1案例一需求:
StringBuilder和String通过方法完成相互转换