【Java】字符串StringBuilder类和Stringjoiner类(013)

目录

♦️StringBuilder类

🎏StringBuilder构造方法

🐡无参构造

🐡有参构造

🎏SringBuilder常用方法

🎏StringBuildre类练习题:

🐡对称字符串

🐡拼装字符串

♦️Stringjoiner类

🎏Stringjoiner类的构造方法

🎏Stringjoiner类的成员方法

♦️链式编程


♦️StringBuilder类

摘要:

什么是StringBuilder❓❓

StringBuilder类可以理解为一个字符串缓冲区,它提供一个可变的字符序列,可以在该序列上进行修改操作,比如追加,插入,删除和替换等。与String类不同的是,String类的修改操作每次都会创建一个新的字符串对象,而StringBuilder类的修改操作都是在原有的字符序列上进行的,不会创建新的对象,因此在频繁进行字符串操作时,StringBuilder类的效率比String类高。


🎏StringBuilder构造方法

🐡无参构造
 StringBuilder sb=new StringBuilder();

注意:StringBuilder在java中已经存在,因此打印的不是地址值

🐡有参构造
 StringBuilder sb=new StringBuilder("abc");


🎏SringBuilder常用方法

  • public StringBuilder append(任意类型)          //添加类型,并返回对象本身
  • public StringBuilder reverse()                       //反转容器中内容
  • public int length()                                         //返回长度(字符出现次数)
  • public String toString()                                //把StringBuilder转换为String
public class StringBuilderDemo1 {
    public static void main(String[] args) {
        //1.创建对象
        StringBuilder sb1=new StringBuilder();
        //2.添加元素
        sb1.append(1);
        sb1.append(1.2);
        sb1.append(true);
        //3.反转容器中内容
        StringBuilder sb2=new StringBuilder("abc");
        sb2.reverse();
        //4.返回长度
        int len=sb2.length();
        //5.将StringBuilder转换为String
        String str=sb2.toString();
        System.out.println(sb1);
        System.out.println(sb2);
        System.out.println(len);
        System.out.println(str);
    }
}


🎏StringBuildre类练习题:

🐡对称字符串

import java.util.Scanner;

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        //1.录入字符串
        System.out.println("请输入一个字符串");
        Scanner sc=new Scanner(System.in);
        String str=sc.nextLine();
        //2.创建对象
        StringBuilder sb=new StringBuilder();
        //3.将字符串反转,对比相不相同
        //注意:需先添加字符串,再将字符串反转,最后将类型转换才能进行比较
         String result=sb.append(str).reverse().toString();
        if(str.equals(result))
        {
            System.out.println("该字符串对称");
        }
        else {
            System.out.println("该字符串不对称");
        }
    }
}

🐡拼装字符串

import java.util.Scanner;
public class StringBuilderDemo1 {
    public static void main(String[] args) {
      int[] arr={1,2,3};
      String str=getToString(arr);
        System.out.println(str);

    }
    public static String getToString(int[] arr)
    {
        StringBuilder sb=new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if(i<arr.length-1)
            {
                sb.append(arr[i]).append(", ");//注意:当添加的内容较多时需调用两次sb.append()
            }
            else {
                sb.append(arr[i]);
            }
        }
        sb.append("]");
        return sb.toString();
    }
}



♦️Stringjoiner类

前提:

什么是Stringjoiner类❓❓StringJoiner是Java 8引入的一个用于拼接字符串的工具类。它允许我们以指定的分隔符将一组字符串连接成一个单独的字符串。我们可以在其源码中看到一个熟悉的身影StringBuilder,它是基于StringBuilder实现字符串操作的,所以它的性能和StringBuilder是差不多的,它也是非线程安全的。

🎏Stringjoiner类的构造方法

public StringJoiner(间隔符号)        //创建一个StringJoiner对象,指定拼接时的间隔符号

public StringJoiner(间隔符号,开始符合,结束符号)        //创建一个StringJoiner对象,指定拼接时的间隔符号,开始符号,结束符号


🎏Stringjoiner类的成员方法

  • public StringJoiner add(添加的内容)                   //添加数据,并返回对象本身
  • public int length()                                               //返回长度(字符出现个数)
  • public String toString()                                      //返回一个字符串(该字符串就是拼接之后的结果)   
import java.util.StringJoiner;
public class StringJoinerDemo {
    public static void main(String[] args) {
        //1.创建一个对象,并指定中间的间隔符号,开始符号,结束符号
        StringJoiner sj = new StringJoiner("---");
        //2.添加数据
        //注意:只能添加字符串
        sj.add("abc").add("bbb").add("ccc");
        System.out.println(sj);
        //3.返回一个字符串
        sj.toString();
        System.out.println(sj);
        //4. 返回长度
        int len=sj.length();
        System.out.println(len);
    }
}



♦️链式编程

❓❓链式编程是一种编码风格,允许将多个操作(如方法调用)链接在一起。这种风格通过返回当前对象的方式实现,1、提高了代码的可读性和可维护性;2、简化了代码的结构;3、优化了开发流程。重点关注于提高了代码的可读性和可维护性,链式编程使代码更加简洁,易于理解和维护,因为它减少了临时变量的需求并且通过一系列操作以直观的方式表达了代码的意图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值