Java新手:StringBuilder类的一些功能

  1. StringBuilder类是java.lang包下的,所以不要导包。
  2. StringBuilder类是一个可变的字符串,字符串缓冲区类。StringBuilder类是一个可变的字符串,字符串缓冲区类。
  3. String和StringBuilder类的区别:
    String的内容是固定的,每次拼接都会产生一个新的字符串对象,放在方法区的常量池中。
    StringBuilder的内容是可变的,每次拼接字符串自始至终都是同一个StringBuilder容器。
  4. StringBuilder的构造方法和成员方法
public static void main(String[] args) {
		StringBuilder sb= new StringBuilder();
		System.out.println("sb:"+sb);
		//public int capacity():返回当前容量
		System.out.println("sb.capacity():"+sb.capacity());
		//public int length()返回长度(字符数)
		System.out.println("sb.length():"+sb.length());
	}

输出结果:
注意: StringBuilder对象打印出来的不是地址,而是地址中的内容。容量是可以放16个字符,长度是指当前对象中有多少个字符。

sb:
sb.capacity():16
sb.length():0
  1. 添加功能:
    public StringBuilder append(任意类型):添加数据,被返回自身对象
public static void main(String[] args) {
		StringBuilder sb= new StringBuilder();
		System.out.println("sb:"+sb);
		StringBuilder sb2 =sb.append("hello");
		System.out.println("sb:"+sb);
		System.out.println("sb2:"+sb2);
		System.out.println("----------------");
		sb.append(false);
		sb.append(100);
		System.out.println("sb:"+sb);
		System.out.println("-----------------");
		//链式
		sb.append(true).append('A').append(123).append("world");
		System.out.println("链式:"+sb);
	}

输出结果:

sb:
sb:hello
sb2:hello
----------------
sb:hellofalse100
-----------------
链式:hellofalse100trueA123world

注意: append返回的是StringBuilder对象。

  1. 反转功能
    public StringBuilder reverse()
public static void main(String[] args) {
		StringBuilder sb= new StringBuilder();
		sb.append(true).append('A').append(123).append("world");
		System.out.println("sb:"+sb);
		sb.reverse();
		System.out.println("sb反转之后:"+sb);
	}

输出结果:

sb:trueA123world
sb反转之后:dlrow321Aeurt
  1. StringBuilder和string的转换
    StringBuilder转换成String :public String toString()
    String转换成StringBuilder:StringBuilder(String str)
public static void main(String[] args) {
		StringBuilder sb= new StringBuilder();
		sb.append(true).append('A').append(123).append("world");
		String s = sb.toString();
		System.out.println("s:"+s);
		System.out.println("---------------");
		String s2 = "hello world";
		StringBuilder sb2 = new StringBuilder(s2);
		System.out.println("sb2:"+sb2);
	}

输出结果:

s:trueA123world
---------------
sb2:hello world

猜你喜欢

转载自blog.csdn.net/w_e_i_1201/article/details/83057407