【JavaSE】String类(下篇)

简介: 【JavaSE】String类(下篇)

hello,进来的小伙伴们,你们好呐!

系列专栏:【JavaSE】

本篇内容:StringBuffer和StringBuider的详解介绍,学会这大类,玩转String——OJ题!

作者简介:一名大二即将升大三的科班编程小白,我很平凡,学会努力!

一、相关用法

String和StringBuilder最大的区别在于String的内容无法修改,而StringBuilder的内容可

以修改。频繁修改字符串的情况考虑使用StringBuilder。

方法1.StringBuff append(Stringstr)

功能:在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、

double、float、int、long、Object、String、StringBuff的变量。

   public class Test1 {

       public static void main(String[] args) {

           StringBuilder s1 = new StringBuilder("hello");

           s1.append("java");

           System.out.println(s1);

       }

   }

d80321efb62e4999814ec694b0b20468.png

方法2.void setCharAt(int index,char ch)。

功能:将index位置的字符设置为ch。

   public class Test1 {

       public static void main(String[] args) {

           StringBuilder s1 = new StringBuilder("hello");

           s1.append("java");

           s1.setCharAt(0,'H');

           System.out.println(s1);

       }

   }


af237e81f8ae43c2a3be3d705228caea.png

方法3.StringBuff insert(intoffset, String str)

功能:在offset位置插入:八种基类类型 & String类型 & Object类型数据。

           StringBuilder s1 = new StringBuilder("hello");

           s1.append("java");

           s1.insert(5,' ');

           System.out.println(s1);

注意:我们这里在hellojava之间插入了一个空格。


3fd3ef35dabe447fa844ff7d95ef955f.png

方法4:StringBufferdeleteCharAt(int index)

功能:删除index位置字符。

           StringBuilder s1 = new StringBuilder("hello");

           s1.append("java");

           s1.deleteCharAt(0);

           System.out.println(s1);

6c7eabc0b2e04dcf84de15f54681d506.png

方法5.StringBuffer delete(intstart, int end)

功能:删除[start, end)区间内的字符。(注意左闭右开)

           StringBuilder s1 = new StringBuilder("hello");

           s1.append("java");

           s1.delete(0,5);

           System.out.println(s1);

702179647360403db07779c9f9c3f60c.png

方法6.StringBuffer reverse()

功能:反转字符串。

           StringBuilder s1 = new StringBuilder("hello");

           s1.append("java");

           s1.reverse();

           System.out.println(s1);

868b5cc7e3534a4eb43e47d46f05702d.png

注意:String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:

String变为StringBuilder: 利用StringBuilder的构造方法或append()方法。

StringBuilder变为String: 调用toString()方法。  

二、面试题

1. String、StringBuffer、StringBuilder的区别

String的内容不可修改,StringBuffer与StringBuilder的内容可以修改。

StringBuffer与StringBuilder大部分功能是相似的。

StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全操作。


相关文章
|
10天前
|
Java 索引
java基础(13)String类
本文介绍了Java中String类的多种操作方法,包括字符串拼接、获取长度、去除空格、替换、截取、分割、比较和查找字符等。
24 0
java基础(13)String类
|
2月前
|
API 索引
String类下常用API
String类下常用API
38 1
|
7天前
|
安全 Java
String类-知识回顾①
这篇文章回顾了Java中String类的相关知识点,包括`==`操作符和`equals()`方法的区别、String类对象的不可变性及其好处、String常量池的概念,以及String对象的加法操作。文章通过代码示例详细解释了这些概念,并探讨了使用String常量池时的一些行为。
String类-知识回顾①
|
20天前
|
存储 安全 Java
Java——String类详解
String 是 Java 中的一个类,用于表示字符串,属于引用数据类型。字符串可以通过多种方式定义,如直接赋值、创建对象、传入 char 或 byte 类型数组。直接赋值会将字符串存储在串池中,复用相同的字符串以节省内存。String 类提供了丰富的方法,如比较(equals() 和 compareTo())、查找(charAt() 和 indexOf())、转换(valueOf() 和 format())、拆分(split())和截取(substring())。此外,还介绍了 StringBuilder 和 StringJoiner 类,前者用于高效拼接字符串,后者用于按指定格式拼接字符串
20 1
Java——String类详解
|
17天前
|
安全 Java
Java StringBuffer 和 StringBuilder 类详解
在 Java 中,`StringBuffer` 和 `StringBuilder` 用于操作可变字符串,支持拼接、插入、删除等功能。两者的主要区别在于线程安全性和性能:`StringBuffer` 线程安全但较慢,适用于多线程环境;`StringBuilder` 非线程安全但更快,适合单线程环境。选择合适的类取决于具体的应用场景和性能需求。通常,在不需要线程安全的情况下,推荐使用 `StringBuilder` 以获得更好的性能。
|
17天前
|
Java 索引
Java String 类详解
Java 中的 `String` 类用于表示不可变的字符序列,是 Java 标准库 `java.lang` 包的一部分。字符串对象一旦创建,其内容不可更改,修改会生成新对象。
|
11天前
|
Java 索引
java基础扫盲-String类常用的方法
java基础扫盲-String类常用的方法
|
1月前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
2月前
|
缓存 安全 Java
Java String类
Java String类
17 0
|
2月前
|
存储 C++
C++ dll 传 string 类 问题
C++ dll 传 string 类 问题
21 0