StringBuilder类
String与StringBuilder
- String类与StringBuilder类原理
- StringBuilder构造方法
/*
java.lang.StringBuilder类:字符串缓冲区,可以提高字符串的效率
构造方法:
StringBuilder() 构造一个没有字符的字符串构建器,初始容量为16个字符。
StringBuilder(String str) 构造一个初始化为指定字符串内容的字符串构建器。
*/
public class Demo01StringBuilder {
public static void main(String[] args) {
//空参数构造方法
StringBuilder bu1 = new StringBuilder();
System.out.println("bu1:"+bu1);//bu1: ""
//带字符串的构造方法
StringBuilder bu2 = new StringBuilder("abc");
System.out.println("bu2"+bu2);//bu2: abc
}
}
- StringBuilder对象的创建及append()方法,toString()方法
import java.util.Locale;
/*
StringBuilder的常用方法:
public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身
*/
public class Demo02StringBuilder {
public static void main(String[] args) {
//创建StringBuilder对象
StringBuilder bu = new StringBuilder();
//使用append方法往StringBuilder中添加数据
//append方法返回的是this,调用方法的对象bu,this==bu
//StringBuilder bu2 = bu.append("abc");//把bu的地址赋值给了bu2
//System.out.println(bu);//"abc"
//System.out.println(bu2);//"abc"
//System.out.println(bu==bu2);//比较的是地址 true
//使用append方法无需接收返回值
//bu.append("abc");
//bu.append(1);
//bu.append(true);
//bu.append(8.8);
//bu.append('中');
//System.out.println(bu);//abc1true8.8中
/*
链式编程:方法返回值是一个对象,可以继续调用方法
*/
System.out.println("abc".toUpperCase().toUpperCase().toUpperCase().toLowerCase());
bu.append("abc").append(1).append(true).append(8.8).append('中');
System.out.println(bu);
}
}
====================================================================================
/*
StringBuilder和String可以相互转换:
String -> StringBuilder:可以使用StringBuilder的构造方法
StringBuilder(String str) 构造一个初始化为指定字符串内容的字符串构建器。
StringBuilder -> String:可以使用StringBuilder中的toString方法
public String toString():将当前StringBuilder对象转换为String对象
*/
public class Demo03StringBuilder {
public static void main(String[] args) {
//String -> StringBuilder
String str = "hello";
System.out.println("str:"+str);
StringBuilder bu = new StringBuilder(str);
//往StringBuilder中添加数据
bu.append("world");
System.out.println("bu:"+bu);
//StringBuilder -> String
String s = bu.toString();
System.out.println("s:"+s);
}
}
作者:wangyudong
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。