文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中的字符串

2023-09-03 11:30

关注

一、简介

Java字符串就是Unicode字符序列。Java里没有内置的字符串类型,而是在标准的类库中提供了一个预定义类,String。每个用双引号""括起来的都是String类的一个实例

字符串是日常开发中最常用, Java字符串的一个重要特点就是字符串不可变

二、字符串定义

1 直接定义字符串

String str = "www.xiezhrspace.cn";//或者String str;str = "www.xiezhrspace.cn";

2 通过使用 String 类的构造方法来创建字符串

//① String() 初始化新创建的 String对象,使其表示空字符序列String str = new String();//② String(String original) 初始化新创建的String对象,使其表示与参数相同的字符序列;换句话说,新创建的字符串是参数字符串的副本。String str = new String("www.xiezhrspace.cn")//③ String(char[] value) 分配一个新的字符串,将参数中的字符数组元素全部变为字符串。该字符数组的内容已被复制,后续对字符数组的修改不会影响新创建的字符串char a[] = {'H','e','l','l','0'};String sChar = new String(a);//④ String(char[] value, int offset, int count) 分配一个新的 String,它包含来自该字符数组参数一个子数组的字符。offset 参数是子数组第一个字符的索引,count 参数指定子数组的长度。该子数组的内容已被赋值,后续对字符数组的修改不会影响新创建的字符串char a[]={'H','e','l','l','o'};String sChar=new String(a,1,4);...

String提供的构造方法很多,文章只列举常用的,其余的可自行查找Java帮助文档。帮助文档的使用参照下一小节

三、如何使用Java API帮助文档

1 帮助文档下载地址

Java Downloads | Oracle



下载完解压后目录如下

2 帮助文档使用

① 双击index.html打开


② 搜索框中输入关键字String 找到java.lang包下的String

③ 查看String 类的帮助信息
String类的基本信息

String 类public/protected 修饰的属性

String 类public/protected 修饰所有构造器

String 类public/protected 修饰所有构造器

2 中文帮助文档

如果小伙伴看英文比较吃力,这里也提供了中文帮助文档下载地址(文档包含jdk1.6~jdk10 的帮助文档)。
注: 中文帮助文档采用的是工具翻译的,有些地方可能不准确,请结合着官方英文文档查看

链接:百度网盘 请输入提取码
提取码:7kms

四、 String字符串和int、double、float 的相互转换

1 String 转int

String 转换 int 时,String 的值一定是整数,否则会报数字转换异常(java.lang.NumberFormatException)

public class StringTest {    public static void main(String[] args) {        System.out.println(Integer.parseInt("123"));        System.out.println(Integer.valueOf("345"));    }}//输出结果为123345

2 String 转Double、Float

String 转换 Double、Float 时,String 的值一定是浮点类型,否则会报数字转换异常(java.lang.NumberFormatException)

public class StringTest {    public static void main(String[] args) {        System.out.println(Double.parseDouble("12.45"));        System.out.println(Double.valueOf("12.45"));        System.out.println(Float.parseFloat("25.68"));        System.out.println(Float.valueOf("25.68"));    }}//输出结果为12.4512.4525.6825.68

3 int转换为String

使用第三种方法相对第一第二种耗时比较大。在使用第一种 valueOf() 方法时,注意 valueOf 括号中的值不能为空,否则会报空指针异常(NullPointerException)

public class StringTest {    public static void main(String[] args) {        System.out.println(String.valueOf(123));        System.out.println(Integer.toString(345));        System.out.println(456 + "");    }}//输出结果为123345456

3 Double、Float转换为String

使用第三种方法相对第一第二种耗时比较大。在使用第一种 valueOf() 方法时,注意 valueOf 括号中的值不能为空,否则会报空指针异常(NullPointerException)

public class StringTest {    public static void main(String[] args) {        public class StringTest {    public static void main(String[] args) {        System.out.println(String.valueOf(20.48d));        System.out.println(Double.toString(20.48d));        System.out.println(20.48d + "");        System.out.println(String.valueOf(10.24f));        System.out.println(Float.toString(10.24f));        System.out.println(10.24f + "");    }}    }}//输出结果为20.4820.4820.4810.2410.2410.24

五、字符串拼接

1 使用连接运算符“+”

str1+str2

public class StringTest {    public static void main(String[] args) {        System.out.println("微信公众号:" + "XiezhrSpace");            }}//输出微信公众号:XiezhrSpace

2 使用 concat() 方法

str1.concat(str2)

public class StringTest {    public static void main(String[] args) {        System.out.println("个人博客:".concat("www.xiezhrspace.cn"));    }}// 输出个人博客:www.xiezhrspace.cn

六 、获取字符串长度

str.length()

public class StringTest {    public static void main(String[] args) {        String str1 = "公众号:XiezhrSpace";        String str2 = "个人博客:www.xiezhrspace.cn";        System.out.println("str1长度:"+str1.length());        System.out.println("str2长度:"+str2.length());    }}//输出str1长度:15str2长度:23

七、字符串大小写转换

public class StringTest {    public static void main(String[] args) {       String str ="Hello World!";        System.out.println("原始字符串:"+str);        System.out.println("使用toLowerCase() 方法之后为:" + str.toLowerCase());        System.out.println("使用toUpperCase() 方法之后为:" + str.toUpperCase());    }}//输出原始字符串:Hello World!使用toLowerCase() 方法之后为:hello world!使用toUpperCase() 方法之后为:HELLO WORLD!

八 、去除字符串中的空格

字符串中存在的首尾空格一般情况下都没有任何意义,如字符串“ Hello ”,但是这些空格会影响到字符串的操作,如连接字符串或比较字符串等,所以应该去掉字符串中的首尾空格,这需要使用 String 类提供的 trim() 方法

注意

//字符串中的每个空格占一个位置,直接影响了计算字符串的长度public class StringTest {    public static void main(String[] args) {        String str = " hello ";        System.out.println(str.length());    // 输出 7        System.out.println(str.trim().length());    // 输出 5    }}//输出75
//去除全角空格实例public class StringTest {    public static void main(String[] args)  {       String str = " hello";       //带有全角的空格没有去掉        System.out.println(str.trim().length());        //去除全角空格        System.out.println(str.replace((char) 12288, ' ').trim().length());    }}//输出65

九 、截取字符串

substring() 方法是按字符截取,而不是按字节截取

substring(int beginIndex)

//调用时,括号中是需要提取字符串的开始位置,方法的返回值是提取的字符串public class StringTest {    public static void main(String[] args) {        String str = "关注XiezhrSpace公众号";        System.out.println(str.substring(2));    }}//输出XiezhrSpace公众号

substring(int beginIndex,int endIndex)

//方法中的 beginIndex 表示截取的起始索引,截取的字符串中包括起始索引对应的字符;//endIndex 表示结束索引,截取的字符串中不包括结束索引对应的字符public class StringTest {    public static void main(String[] args) {        String str = "关注XiezhrSpace公众号";        System.out.println(str.substring(2,13));    }}//输出XiezhrSpace

注意:, 对于开始位置 beginIndex, Java 是基于字符串的首字符索引为 0 处理的,但是对于结束位置 endIndex,Java 是基于字符串的首字符索引为 1 来处理的 。具体如下图所示

十、分割字符串

public class StringTest {    public static void main(String[] args) {        String str = "苹果,香蕉,猕猴桃,梨";        String arr1[] = str.split(",");        String arr2[] = str.split(",",3);        System.out.println("①分割所有水果");        for (int i = 0; i < arr1.length; i++) {            System.out.println(arr1[i]);        }        System.out.println("②分割取前两个水果,其余不分割");        for (int i = 0; i < arr2.length; i++) {            System.out.println(arr2[i]);        }    }}//输出①分割所有水果苹果香蕉猕猴桃梨②分割取前两个水果,其余不分割苹果香蕉猕猴桃,梨

对于 .|$&*, .^ 等转义字符,程序中使用时,需要加上\\。 实例如下

public class StringTest {    public static void main(String[] args) {        String str1 = "苹果|香蕉|猕猴桃|梨";        String str2 = "黄色$橙色$红色$白色";        String arr1[] = str1.split("\\|");        String arr2[] = str2.split("\\$");        System.out.println("分割以|分割的水果:");        for (int i = 0; i < arr1.length; i++) {            System.out.println(arr1[i]);        }        System.out.println("分割以$为分隔符的颜色:");        for (int i = 0; i < arr2.length; i++) {            System.out.println(arr2[i]);        }    }}//输出结果分割以|分割的水果:苹果香蕉猕猴桃梨分割以$为分隔符的颜色:黄色橙色红色白色
//多层分隔符解析public class StringTest {    public static void main(String[] args) {        String str = "xiezhr相关信息^个人公账号|XiezhrSpace$个人博客|www.xiezhrspace.cn";        String arr1[] = str.split("\\^");        String arr2[] = arr1[1].split("\\$");        String arr3[] ={};        System.out.println(arr1[0]);        for (int i = 0; i < arr2.length; i++) {          arr3= arr2[i].split("\\|");            for (int i1 = 0; i1 < arr3.length; i1++) {                System.out.println(arr3[i1]);            }        }            }}//输出xiezhr相关信息个人公账号XiezhrSpace个人博客www.xiezhrspace.cn

十一、字符串替换

str.replace(char oldChar, char newChar)

将目标字符串中的指定字符(串)替换成新的字符(串)

str.replaceFirst(String regex, String replacement)

将目标字符串中匹配某正则表达式的第一个子字符串替换成新的字符串

str.replaceAll(String regex, String replacement)

将目标字符串中匹配某正则表达式的所有子字符串替换成新的字符串

public class StringTest {    public static void main(String[] args) {        String str1 ="个人公众号:XiezhrSpace";        String str2 ="xiezhr love programming";        System.out.println("原始字符串:" + str1);        System.out.println("替换后:"+str1.replace(":", "|"));        System.out.println("原始字符串:" + str2);        System.out.println("替换后:"+str2.replace("programming", "anime"));    }}//输出原始字符串:个人公众号:XiezhrSpace替换后:个人公众号|XiezhrSpace原始字符串:xiezhr love programming替换后:xiezhr love anime
public class StringTest {    public static void main(String[] args) {      String str ="中国移动:https://www.10086.cn/ 10086:https://www.10086.cn/";      System.out.println("匹配成功:");      System.out.println(str.replaceFirst("10086", "xiezhrspace"));      System.out.println("未匹配成功:");      System.out.println(str.replaceFirst("mobile", "xiezhrspace"));    }}//输出匹配成功:中国移动:https://www.xiezhrspace.cn/ 10086:https://www.10086.cn/未匹配成功:中国移动:https://www.10086.cn/ 10086:https://www.10086.cn/
public class StringTest {    public static void main(String[] args) {      String str ="中国移动:https://www.10086.cn/ 10086:https://www.10086.cn/";      System.out.println("匹配成功:");      System.out.println(str.replaceAll("10086", "xiezhrspace"));      System.out.println("未匹配成功:");      System.out.println(str.replaceAll("mobile", "xiezhrspace"));    }}//输出匹配成功:中国移动:https://www.xiezhrspace.cn/ xiezhrspace:https://www.xiezhrspace.cn/未匹配成功:中国移动:https://www.10086.cn/ 10086:https://www.10086.cn/

十二、字符串比较

str1.equals(str2)
str1.equalsIgnoreCase(str2)
str1.compareTo(str2);

1 equals()

逐个地比较两个字符串的每个字符是否相同。如果两个字符串具有相同的字符和长度,它返回 true,否则返回 false。字符大小写不同,返回false

public class StringTest {    public static void main(String[] args) {        String str1 ="xiezhr";        String str2 = new String("xiezhr");        String str3 = "XIEZHR";        System.out.println("str1与str2比较结果:" + str1.equals(str2));        System.out.println("str1与str3比较结果:" + str1.equals(str3));    }}//输出结果str1与str2比较结果:truestr1与str3比较结果:false

2 equals() 与 == 比较字符

== 比较引用地址是否相同,equals() 比较字符串的内容是否相同

public class StringTest {    public static void main(String[] args) {        String str1 ="xiezhr";        String str2 = new String("xiezhr");        System.out.println("使用equals方法比较的结果:");        System.out.println(str1.equals(str2));        System.out.println("使用==比较的结果:");        System.out.println(str1 == str2);    }}//输出使用equals方法比较的结果:true使用==比较的结果:false

3 equalsIgnoreCase()

字符串与指定的对象比较,不考虑大小写

public class StringTest {    public static void main(String[] args) {        String str1 ="xiezhr";        String str2 ="XIEZHR";        String str3 = new String("xiezhr");        System.out.println("str1与str2通过equalsIgnoreCase比较结果:" + str1.equalsIgnoreCase(str2));        System.out.println("str1与str3通过equalsIgnoreCase比较结果:" + str1.equalsIgnoreCase(str3));    }}//输出str1与str2通过equalsIgnoreCase比较结果:truestr1与str3通过equalsIgnoreCase比较结果:true

4 compareTo() 与 compareToIgnoreCase()

基于字符串各个字符的 Unicode 值,按字典顺序(ASCII码顺序)比较两个字符串的大小
如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的长度差值(ASCII码差值)
如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至不等为止,返回该字符的ASCII码差值
如果两个字符串不一样长,可对应字符又完全一样,则返回两个字符串的长度差值
compareToIgnoreCase方法可以忽略大小写

public class StringTest {    public static void main(String[] args) {        String str1 ="xiezhr";        String str2 ="XIEZHR";        String str3 = new String("xiezhr");        String str4 = "xiezhr";        String str5 ="xiezhrspace";        System.out.println(str1.compareTo(str2));        System.out.println(str1.compareTo(str3));        System.out.println(str1.compareTo(str4));        System.out.println(str1.compareTo(str5));        System.out.println(str1.compareToIgnoreCase(str2));    }}//输出3200-50

十三、 字符串查找

1 charAt()

字符串本质上是由一个个字符组成的字符数组,因此它也有索引,索引跟数组一样从零开始。charAt() 方法可以在字符串内根据指定的索引查找字符

public class StringTest {    public static void main(String[] args) {       String str ="www.xiezhrspace.cn";        System.out.println(str.charAt(0));        System.out.println(str.charAt(4));        System.out.println(str.charAt(5));        System.out.println(str.charAt(12));    }}//输出wxia

2 indexOf()

①public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
②public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
③int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
④int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1

public class StringTest {    public static void main(String[] args) {       String str ="XiezhrSpace";        System.out.println(str.indexOf("e"));        System.out.println(str.indexOf("pa"));        System.out.println(str.indexOf("e", 4));    }}//输出2710

3 lastlndexOf()

用于返回字符(串)在指定字符串中最后一次出现的索引位置,如果能找到则返回索引值,否则返回 -1

lastlndexOf 方法的四种形式

public class StringTest {    public static void main(String[] args)  {        String str = new String("个人博客:www.xiezhrspace.cn");        String str1 = "xiezhr";        String str2 = "cn";        System.out.print("查找指定字符 w 在目标字符str中最后出现的位置 :" );        System.out.println(str.lastIndexOf( 'w' ));        System.out.print("从第2个位置查找指定字符 w在目标字符串str最后出现的位置 :" );        System.out.println(str.lastIndexOf( 'w', 14 ));        System.out.print("指定子字符串 str1 在目标字符串str最后出现的位置:" );        System.out.println( str.lastIndexOf( str1 ));        System.out.print("从第7个位置开始查找指定字符串 str1在目标字符串中最后出现的位置 :" );        System.out.println( str.lastIndexOf( str1, 7 ));        System.out.print("指定字符串 str2 在目标字符串str最后出现的位置 :" );        System.out.println(str.lastIndexOf( str2 ));    }}//输出查找指定字符 w 在目标字符str中最后出现的位置 :7从第2个位置查找指定字符 w在目标字符串str最后出现的位置 :7指定子字符串 str1 在目标字符串str最后出现的位置:9从第7个位置开始查找指定字符串 str1在目标字符串中最后出现的位置 :-1指定字符串 str2 在目标字符串str最后出现的位置 :21

4 contains()

查找字符串中是否包含目标字符(串)

public class StringTest {    public static void main(String[] args) {        String str = "xiezhrspace";        System.out.println(str.contains("xiezhr"));        System.out.println(str.contains("cn"));    }}//输出truefalse

十四、字符串按指定字符集转byte序列

1 getBytes()

按指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中

2 getBytes(String charsetName)

默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中

import java.io.UnsupportedEncodingException;public class StringTest {    public static void main(String[] args)  {        String str = "网名xiezhr";        byte[] bytes1 = null;        byte[] bytes2 = null;        byte[] gbks = null;        byte[] bytes = str.getBytes();        try {            bytes1 = str.getBytes("utf-8");            bytes2 = str.getBytes("ISO-8859-1");             gbks = str.getBytes("GBK");        }catch (UnsupportedEncodingException e){            System.out.println("不支持的字符集"+e.getMessage());        }        System.out.println("按默认字符集将字符串转byte数组:");        for (byte aByte : bytes) {            System.out.print(aByte+" ");        }        System.out.println();        System.out.println("按utf-8编码将字符串转bytes数组:");        for (byte b1 : bytes1) {            System.out.print(b1+" ");        }        System.out.println();        System.out.println("按ISO-8859-1编码将字符串转bytes数组:");        for (byte b2 : bytes2) {            System.out.print(b2+" ");        }        System.out.println();        System.out.println("按GBK编码将字符串转bytes数组:");        for (byte gbk : gbks) {            System.out.print(gbk+" ");        }    }}//输出按默认字符集将字符串转byte数组:-25 -67 -111 -27 -112 -115 120 105 101 122 104 114 按utf-8编码将字符串转bytes数组:-25 -67 -111 -27 -112 -115 120 105 101 122 104 114 按ISO-8859-1编码将字符串转bytes数组:63 63 120 105 101 122 104 114 按GBK编码将字符串转bytes数组:-51 -8 -61 -5 120 105 101 122 104 114 

十五、字符复制

1 getChars()

将字符从字符串复制到目标字符数组

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

public class StringTest {    public static void main(String[] args)  {        String Str1 = new String("www.xiezhrspace.cn");        char[] Str2 = new char[15];        try {            Str1.getChars(4, 15, Str2, 3);            System.out.print("复制的字符串为:" );            System.out.println(Str2 );        } catch( Exception e) {            System.out.println(e.getMessage());        }    }}//输出,新字符串Str2 是从第三位复制的复制的字符串为:   xiezhrspace

2 copyValueOf()

将字符数组中指定字符复制到目标字符

① public static String copyValueOf(char[] data)

② public static String copyValueOf(char[] data, int offset, int count)

public class StringTest {    public static void main(String[] args)  {        char[] str1 ={'w','w','w',':','x','i','e','z','h','r','s','p','a','c', 'e','.','c','n' };        String str2 = null;        String str3 = null;        System.out.println(str2.copyValueOf(str1));        System.out.println(str3.copyValueOf(str1, 4, 11));            }}//输出www:xiezhrspace.cnxiezhrspace

十六、空字符串与null

一个比较容易混淆的知识点。空串是长度为0的字符串,null表示没有引用任何对象

1 空字符串与null的区别

public class StringTest {    public static void main(String[] args) {        String str1 = new String();        String str2 = null;        String str3 = "";        System.out.println(str1==str2);                        System.out.println(str1.equals(str2));                 System.out.println(str2==str3);                        System.out.println(str3.equals(str2));                 System.out.println(str1==str3);                        System.out.println(str1.equals(str3));             }}//输出false  //内存地址的比较,返回falsefalse  //值的比较,返回falsefalse  //内存地址的比较,返回falsefalse  //值的比较,返回falsefalse  //内存地址的比较,返回falsetrue   //值的比较,返回true

2 非空判断

执行下面代码,会抛出java.lang.NullPointerException 。这也是我们日常开发中经常见到的报错。
所以,字符串非空判断显得尤为重要

public class StringTest {    public static void main(String[] args) {       String str = null;       str.length();    }}// 报空指针异常Exception in thread "main" java.lang.NullPointerExceptionat StringTest.main(StringTest.java:5)

非空判断一般包含空字符串和null判断,常见的判断方法主要有以下几种
① 最多人使用的一个方法, 直观, 方便, 但效率很低
注: s==null 判断需要写在前面,要不然还是会报NullPointerException

 if(!(s == null || s.equals(""))){  System.out.println("业务逻辑代码"); }; //或者 if(str !=null &&!"".equals(str)){   System.out.println("业务逻辑代码"); }

②比较字符串长度, 效率比第一种方法高

  if(!(str==null||str.length()==0)){      System.out.println("业务逻辑代码");  }  if(str!=null&&str.length()!=0){      System.out.println("业务逻辑代码");  }}

③ Java SE 6.0 才开始提供的方法, 效率和方法②差不多, 但出于兼容性考虑, 推荐使用方法二

 if(!(str==null||str.isEmpty())){     System.out.println("业务逻辑代码"); } if(str!=null&& !str.isEmpty()){     System.out.println("业务逻辑代码"); }

3 StringUtils的isBlank与isEmpty

与java.lang这个包作用类似,Commons Lang 包是由apache 提供的jar包。这一组API也是提供一些基础的、通用的操作和处理

官方下载地址:Lang – Download Apache Commons Lang
maven 包引用

    org.apache.commons    commons-lang3    3.9

commons-lang3 提供了很多常用的基础操作处理,包括字符串、日期、数组等等。
由于本文主要是说字符串String,所以我们只对其中的StringUtils的isBlank与isEmpty 方法说明。

判断字符串为空,一般会遇到 null 、"" 、字符串中间有空格 " ", 下面是两个方法处理结果

① public static boolean isBlank(String str)

import org.apache.commons.lang3.StringUtils;public class StringTest {    public static void main(String[] args) {        System.out.println(StringUtils.isBlank(null));        System.out.println(StringUtils.isBlank(""));        System.out.println(StringUtils.isBlank("  "));        System.out.println(StringUtils.isBlank("        "));        System.out.println(StringUtils.isBlank("\t \n \f \r"));        System.out.println(StringUtils.isBlank("\\"));        System.out.println(StringUtils.isBlank("公众号XiezhrSpace"));        System.out.println(StringUtils.isBlank("  公众号XiezhrSpace  "));    }}//输出true    truetruetruetruefalsefalsefalse

② public static boolean isEmpty(String str)

import org.apache.commons.lang3.StringUtils;public class StringTest {    public static void main(String[] args) {        System.out.println(StringUtils.isEmpty(null));        System.out.println(StringUtils.isEmpty(""));        System.out.println(StringUtils.isEmpty("  "));  //StringUtils 中空格作非空处理        System.out.println(StringUtils.isEmpty("        "));        System.out.println(StringUtils.isEmpty("\t \n \f \r"));        System.out.println(StringUtils.isEmpty("\\"));        System.out.println(StringUtils.isEmpty("公众号XiezhrSpace"));        System.out.println(StringUtils.isEmpty("  公众号XiezhrSpace  "));            }}//输出truetruefalsefalsefalsefalsefalsefalse

当然了,StringUtils工具类还有对应的isNotBlank和isNotEmpty 方法,意思是不为空。

十七、String、StringBuilder、StringBuffer

具体区别可以参考https://blog.csdn.net/itchuxuezhe_yang/article/details/89966303 这篇博文,写的还是挺好的。

1 比较

2 继承结构

3 使用场景选择

public class StringTest {    public static void main(String[] args) {        StringBuilder sbd = new StringBuilder();        StringBuffer sbf = new StringBuffer();        String str1 ="xiezhr个人信息:";        String str2 ="博客:www.xiezhrspace.cn";        String str3 ="公众号:XiezhrSpace";        String str =str1+str2+str3;        sbd.append(str1);        sbd.append(str2);        sbd.append(str3);        sbf.append(str1);        sbf.append(str2);        sbf.append(str3);        System.out.println("String拼接字符串:");        System.out.println(str);        System.out.println("StringBuilder拼接字符串:");        System.out.println(sbd.toString());        System.out.println("StringBuffer拼接字符串:");        System.out.println(sbf.toString());    }}//输出String拼接字符串:xiezhr个人信息:博客:www.xiezhrspace.cn公众号:XiezhrSpaceStringBuilder拼接字符串:xiezhr个人信息:博客:www.xiezhrspace.cn公众号:XiezhrSpaceStringBuffer拼接字符串:xiezhr个人信息:博客:www.xiezhrspace.cn公众号:XiezhrSpace

4 StringBuffer 常用函数

append(String s) //追加一个字符串
reverse() //将字符串反转
delete(int start, int end) //删除指定位置字符串
insert(int offset, String str) //在指定位置插入字符串
replace(int start, int end, String str) //将指定位置字符串替换为新字符串

public class StringTest {    public static void main(String[] args) {        StringBuffer sb = new StringBuffer();        sb.append("XiezhrSpace!!!");        System.out.println(sb);        sb.append("m");        System.out.println(sb);        sb.insert(0,"公众号:");        System.out.println(sb);        sb.delete(16,19);        System.out.println(sb);        sb.replace(15,16,"**");        System.out.println(sb);        sb.reverse();        System.out.println(sb);    }}//输出XiezhrSpace!!!XiezhrSpace!!!m公众号:XiezhrSpace!!!m公众号:XiezhrSpace!公众号:XiezhrSpace****ecapSrhzeiX:号众公

本期到此结束,我们下期再见~(●'◡'●)

来源地址:https://blog.csdn.net/Gefangenes/article/details/130940186

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯