StringBuilder类

StringBuilder类:

StringBuilder代表可变字符串对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的。

优点:StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁。

 

构造器:

构造器 说明
public StringBuilder() 创建一个空白的可变的字符串对象,不包含任何内容
public StringBuilder(String str) 创建一个指定字符串内容的可变字符串对象

 

常用方法:

方法名称 说明
public StringBuilder append(任意类型) 添加数据并返回StringBuilder对象本身
public StringBuilder reverse() 将对象的内容反转
public int length() 返回对象内容长度
public String toString() 通过toString()就可以实现把StringBuilder转换为String

 
 

package com.ouyang.demo01;

public class demo {
    public static void main(String[] args) {
        //使用无参构造器创建对象
        StringBuilder sb=new StringBuilder();

        //使用有参构造器创建对象
        StringBuilder sb2=new StringBuilder("OYO");

        //append()方法
        sb.append("aaa");
        sb.append(111);
        sb.append(6.66);
        sb.append(true);
        sb.append('c');

        System.out.println("sb = " + sb);//sb = aaa1116.66truec

        //链式编程:append方法返回的也是 StringBuilder类型
        sb2.append("aaa").append(111).append(6.66).append(true).append('c');

        System.out.println("sb2 = " + sb2);//sb2 = OYOaaa1116.66truec


        //reverse()方法:反转StringBuilder中的内容
        sb.reverse();
        System.out.println("sb = " + sb);//sb = ceurt66.6111aaa

        //length()方法:返回 StringBuilder 长度
        System.out.println(sb.length());//15


        //toString()方法:把  StringBuilder 转换成字符串
        String str=sb.toString();
        System.out.println("str = " + str);//str = ceurt66.6111aaa
    }
}

 


 

案例:

 

案例1:

package com.ouyang.demo01;

public class deno02 {
    public static void main(String[] args) {

        int[] arr={11,22,33};
        String s=getStringBuilder(arr);
        System.out.println("s = " + s);
    }

    public static String getStringBuilder(int[] arr){
        StringBuilder sb=new StringBuilder("[");
        for (int i = 0; i < arr.length; i++) {
            sb.append(arr[i]);
            if(i==arr.length-1){
                sb.append("]");
                continue;
            }
            sb.append(",");
        }
        return sb.toString();
    }
}

 

 

案例2:

package com.ouyang.demo01;

import java.util.Scanner;

public class demo {
    /*
        键盘录入一个字符串,判断这个字符串是否为对称字符串
            例如:"上海自来水来自海上" , 就是一个对称的字符串
            "ABCA",就不是一个对称的字符串
     */

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        StringBuilder sb=new StringBuilder(sc.next());
        if(isSymmetry(sb)){
            System.out.println(sb+", 就是一个对称的字符串");
        }else {
            System.out.println(sb+", 就不是一个对称的字符串");

        }

    }
    public static boolean isSymmetry(StringBuilder sb){
        String s1=sb.toString();
        String s2=sb.reverse().toString();

        return s1.equals(s2);
    }
}

 

 

StringBuffer与StringBuilder:

​ 1.StringBuffer的用法与StringBuilder是一模一样的

​ 2.StringBuilder是线程不安全的StringBuffer是线程安全的

 
 

StringBuilder和String:

字符串相关的操作,如频繁的拼接、修改等,建议用StringBuidler?
 
String 是不可变字符串、频繁操作字符串会产生很多无用对象,性能差。
 
StringBuilder:是内容可变的字符串、拼接字符串性能好、代码优雅。

相关推荐

  1. StringBuilder

    2024-07-23 00:12:03       12 阅读
  2. StringBuilder

    2024-07-23 00:12:03       17 阅读
  3. C# Random随机数_DateTime_String_API_StringBuilder

    2024-07-23 00:12:03       32 阅读
  4. String 字符串和编码 以及StringBuilder StringBuffer

    2024-07-23 00:12:03       44 阅读
  5. StringBuilder和Stringjoiner

    2024-07-23 00:12:03       43 阅读
  6. C#的StringBuilder方法

    2024-07-23 00:12:03       47 阅读
  7. string和stringbuilder

    2024-07-23 00:12:03       40 阅读
  8. String、StringBuilder、StringBuffer

    2024-07-23 00:12:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 00:12:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 00:12:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 00:12:03       45 阅读
  4. Python语言-面向对象

    2024-07-23 00:12:03       55 阅读

热门阅读

  1. thinkphp6连接kingbase数据库

    2024-07-23 00:12:03       11 阅读
  2. 压缩Mojo模型:轻装上阵的机器学习模型

    2024-07-23 00:12:03       15 阅读
  3. C++11 智能指针之shared_from_this

    2024-07-23 00:12:03       16 阅读
  4. frp、FTP服务

    2024-07-23 00:12:03       12 阅读
  5. Apache虚拟主机VirtualHost配置项详解

    2024-07-23 00:12:03       15 阅读