JAVA中的StringBuffer和StringBuilder概述

JAVA中的StringBuffer和StringBuilder概述

###13.01_常见对象(StringBuffer类的概述)

  • A:StringBuffer类概述
    • 通过JDK提供的API,查看StringBuffer类的说明
    • 线程安全的可变字符序列
  • B:StringBuffer和String的区别
    • String是一个不可变的字符序列
    • StringBuffer是一个可变的字符序列

###13.02_常见对象(StringBuffer类的构造方法)

  • A:StringBuffer的构造方法:
    • public StringBuffer():无参构造方法
    • public StringBuffer(int capacity):指定容量的字符串缓冲区对象
    • public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
  • B:StringBuffer的方法:
    • public int capacity():返回当前容量。 理论值(不掌握)
    • public int length():返回长度(字符数)。 实际值
  • C:案例演示
    • 构造方法和长度方法的使用

###13.03_常见对象(StringBuffer的添加功能)

  • A:StringBuffer的添加功能
    • public StringBuffer append(String str):
      • 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
    • public StringBuffer insert(int offset,String str):
      • 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身

###13.04_常见对象(StringBuffer的删除功能)

  • A:StringBuffer的删除功能
    • public StringBuffer deleteCharAt(int index):
      • 删除指定位置的字符,并返回本身
    • public StringBuffer delete(int start,int end):
      • 删除从指定位置开始指定位置结束的内容,并返回本身

###13.05_常见对象(StringBuffer的替换和反转功能)

  • A:StringBuffer的替换功能
    • public StringBuffer replace(int start,int end,String str):
      • 从start开始到end用str替换
  • B:StringBuffer的反转功能
    • public StringBuffer reverse():
      • 字符串反转

###13.06_常见对象(StringBuffer的截取功能及注意事项)

  • A:StringBuffer的截取功能
    • public String substring(int start):
      • 从指定位置截取到末尾
    • public String substring(int start,int end):
      • 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
  • B:注意事项
    • 注意:返回值类型不再是StringBuffer本身

###13.07_常见对象(StringBuffer和String的相互转换)

  • A:String – StringBuffer
    • a:通过构造方法
    • b:通过append()方法
  • B:StringBuffer – String
    • a:通过构造方法
    • b:通过toString()方法
    • c:通过subString(0,length);

###13.08_常见对象(把数组转成字符串)

  • A:案例演示
    • 需求:把数组中的数据按照指定个格式拼接成一个字符串
    •   举例:
        	int[] arr = {1,2,3};	
        输出结果:
        	"[1, 2, 3]"
        	
        用StringBuffer的功能实现
      
package com.heima.test;

public class Test1 {

	/**
	 * * 需求:把数组中的数据按照指定个格式拼接成一个字符串
	* 
			举例:
				int[] arr = {1,2,3};	
			输出结果:
				"[1, 2, 3]"
				
			用StringBuffer的功能实现
	 */
	public static void main(String[] args) {
		int[] arr = {1,2,3};
		System.out.println(arrayToString(arr));
	}

	/*
	 * 将数组转换为字符串
	 * 1,返回值类型String
	 * 2,参数列表int[]
	 * 
	 * arrayToString 将数组转换为字符串
	 * array2String		2与to的发音一样就用2替换了to,后来演变成了一种书写习惯
	 * dom4j  domForJ
	 */
	
	public static String arrayToString(int[] arr) {
		StringBuffer sb = new StringBuffer();				//创建字符串缓冲区对象
		sb.append("[");										//将[添加到缓冲区
		
		
		//{1,2,3}
		for (int i = 0; i < arr.length; i++) {				//遍历数组
			sb.append(arr[i]);						//这样做没有]
			if(i == arr.length - 1) {
				return sb.append("]").toString();				//[1, 2, 3]
			}else {
				sb.append(", ");				//[1, 2,
			}
		}
	}
}

###13.09_常见对象(字符串反转)

  • A:案例演示
  •   需求:把字符串反转
      	举例:键盘录入"abc"		
      	输出结果:"cba"
      	
      用StringBuffer的功能实现	
    
package com.heima.test;

import java.util.Scanner;

public class Test2 {

	/**
	 * * A:案例演示
	* 
			需求:把字符串反转
				举例:键盘录入"abc"		
				输出结果:"cba"
				
			用StringBuffer的功能实现	
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);				//创建键盘录入对象
		String line = sc.nextLine();						//将键盘录入的字符串存储在line中
		
		/*StringBuffer sb = new StringBuffer(line);			//将字符串转换为StringBuffer对象
		sb.reverse();										//将缓冲区的内容反转
		
		System.out.println(sb.toString());*/
		
		System.out.println(revString(line));
	}

	/*
	 * 将字符串反转
	 * 1,返回值类型String
	 * 2,参数列表String line
	 */
	
	public static String revString(String line) {
		StringBuffer sb = new StringBuffer(line);			//将字符串转换为StringBuffer对象
		sb.reverse();										//将缓冲区的内容反转
		
		return sb.toString();
	}
}

###13.10_常见对象(StringBuffer和StringBuilder的区别)

  • A:StringBuilder的概述
    • 通过查看API了解一下StringBuilder类
  • B:面试题
    • String,StringBuffer,StringBuilder的区别

    • StringBuffer和StringBuilder的区别

    • StringBuffer是jdk1.0版本的,是线程安全的,效率低

    • StringBuilder是jdk1.5版本的,是线程不安全的,效率高

    • String和StringBuffer,StringBuilder的区别

    • String是一个不可变的字符序列

    • StringBuffer,StringBuilder是可变的字符序列

###13.11_常见对象(String和StringBuffer分别作为参数传递)

  • A:形式参数问题
    • String作为参数传递
    • StringBuffer作为参数传递
  • B:案例演示
    • String和StringBuffer分别作为参数传递问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值