java基础--4.常用类-3.StringBuffer、StringBuilder

xiaoxiao2021-02-27  426

1      StringBuffer类

1.1  概述

         线程安全、同步(所以要判断,效率低)

 

StringBuffer和String的区别

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

         *StringBuffer是一个可变的字符序列

 

1.2  构造方法

 

1.3  常用方法

1.3.1  输出、容量、长度

toString

 

1.3.2  添加功能

 

 

1.3.3  删除功能

对比上面添加功能

 

1.3.4  获取、截取功能

charAt(int index)      返回指定索引处的char 值。

 

1.3.5  替换和反转功能

 

2      StringBuffer和String对比

 

2.1  相互转换

 

2.1.1  String à StringBuffer

  

2.1.2  StringBuffer à String

  

 

2.2  数组转换成字符串

2.2.1  String

 

2.2.2  StringBuffer

 

public class Test1 { /** * * 需求:把数组中的数据按照指定个格式拼接成一个字符串 * 举例: int[]arr = {1,2,3}; 输出结果: "[1,2, 3]" 用StringBuffer的功能实现 */ publicstatic 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 */ publicstatic String arrayToString(int[] arr) { StringBuffersb = new StringBuffer(); //创建字符串缓冲区对象 sb.append("["); //将[添加到缓冲区 //{1,2,3} for(int i = 0; i < arr.length; i++) { //遍历数组 //sb.append(arr[i]+ ", "); //这样做没有] if(i== arr.length - 1) { sb.append(arr[i]).append("]"); //[1, 2, 3] }else{ sb.append(arr[i]).append(","); //[1,2, } } returnsb.toString(); } }  

2.3  字符串反转

2.3.1  String

 

 

2.3.2  StringBuffer

 

2.4  参数传递

 

public class Demo7_StringBuffer { /** 基本数据类型的值传递,不改变其值 引用数据类型的值传递,改变其值 String类虽然是引用数据类型,但是他当作参数传递时和基本数据类型是一样的 */ publicstatic void main(String[] args) { Strings = "heima"; System.out.println(s); change(s); System.out.println(s); System.out.println("---------------------"); StringBuffersb = new StringBuffer(); sb.append("heima"); System.out.println(sb); change(sb); System.out.println(sb); } publicstatic void change(StringBuffer sb) { sb.append("itcast"); } publicstatic void change(String s) { s+= "itcast"; } }  

3      StringBuilder类

         同StringBuffer

 

 

 

 

 源代码文件:http://download.csdn.net/detail/qq_26553781/9835132

 

转载请注明原文地址: https://www.6miu.com/read-559.html

最新回复(0)