首页 > 其他分享 >3.1. 字符串与StringBuilder

3.1. 字符串与StringBuilder

时间:2023-05-30 14:03:30浏览次数:55  
标签:String int StringBuilder World 3.1 字符串 sb

1. 字符串(String)

在Java中,字符串由String类表示。字符串是一系列字符的组合,用于表示文本数据。字符串是不可变的,这意味着一旦创建了一个字符串对象,就不能修改它的内容。

创建字符串

创建字符串的方式有两种:

  1. 直接使用双引号("")创建字符串字面量。例如:

    String str1 = "Hello, World!";
    ```
    
    
  2. 使用new关键字创建一个String对象。例如:

    String str2 = new String("Hello, World!");
    

字符串的常用方法

String类提供了许多有用的方法来处理字符串。以下是一些常用方法:

  • length():返回字符串的长度。
  • charAt(int index):返回字符串中指定位置的字符。
  • substring(int beginIndex, int endIndex):返回从beginIndex(包括)到endIndex(不包括)之间的子字符串。
  • indexOf(String str):返回指定子字符串在字符串中第一次出现的位置的索引,如果未找到则返回-1。
  • lastIndexOf(String str):返回指定子字符串在字符串中最后一次出现的位置的索引,如果未找到则返回-1。
  • equals(Object obj):比较两个字符串是否相等,区分大小写。
  • equalsIgnoreCase(String anotherString):比较两个字符串是否相等,不区分大小写。
  • startsWith(String prefix):判断字符串是否以指定的前缀开始。
  • endsWith(String suffix):判断字符串是否以指定的后缀结束。
  • replace(CharSequence target, CharSequence replacement):将字符串中的target替换为replacement
  • toUpperCase():将字符串中的所有字符转换为大写。
  • toLowerCase():将字符串中的所有字符转换为小写。
  • trim():去掉字符串首尾的空白字符。

2. StringBuilder

StringBuilder是一个可变的字符序列,可以用于处理字符串拼接和修改。相比于String类,StringBuilder在处理大量的字符串操作时性能更高。

创建StringBuilder

创建StringBuilder对象的方法如下:

StringBuilder sb = new StringBuilder();

可以在创建时指定初始容量,例如:

StringBuilder sb = new StringBuilder(50);

StringBuilder的常用方法

StringBuilder类提供了许多有用的方法来处理字符串操作。以下是一些常用方法:

  • append(Object obj):将指定的对象的字符串表示形式追加到字符串构建器。
  • insert(int offset, Object obj):将指定的对象的字符串表示形式插入到字符串构建器的指定位置。
  • delete(int start, int end):从字符串构建器中删除指定范围内的字符。
  • replace(int start, int end, String str):用指定的字符串替换字符串构建器中指定范围内的字符。
  • reverse():反转字符串构建器中的字符顺序。
  • toString():将StringBuilder对象转换为String对象。

3. 示例

下面是一个使用StringStringBuilder类的示例:

public class Main {
    public static void main(String[] args) {
        // 创建字符串
        String str1 = "Hello, ";
        String str2 = "World!";
        
        // 字符串拼接
        String str3 = str1 + str2;
        System.out.println(str3); // 输出 "Hello, World!"
        
        // 创建StringBuilder
        StringBuilder sb = new StringBuilder();
        
        // 使用StringBuilder拼接字符串
        sb.append(str1);
        sb.append(str2);
        
        // 将StringBuilder对象转换为String对象并输出
        String str4 =sb.toString();
        System.out.println(str4); // 输出 "Hello, World!"

        // 操作字符串
        String str5 = " Java Programming ";
        System.out.println(str5.trim().toUpperCase()); // 输出 "JAVA PROGRAMMING"

        // 使用StringBuilder进行插入和删除操作
        sb.insert(7, "beautiful ");
        System.out.println(sb.toString()); // 输出 "Hello, beautiful World!"

        sb.delete(7, 16);
        System.out.println(sb.toString()); // 输出 "Hello, World!"
    }
}

通过这个示例,您可以了解到StringStringBuilder的基本用法和常用方法。在实际编程过程中,您会经常使用这些类来处理字符串操作。希望这个介绍能帮助您更好地学习和理解Java中的字符串和StringBuilder。

file

file

参考文章:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

标签:String,int,StringBuilder,World,3.1,字符串,sb
From: https://blog.51cto.com/u_14241752/6378469

相关文章

  • 【python】字符串
    字符串startwithstartswith()方法用于检查字符串是否是以指定子字符串开头,如果是则返回True,否则返回False。如果参数beg和end指定值,则在指定范围内检查。语法:str.startswith(substr,beg=0,end=len(string));参数str:检测的字符串。substr:指定的子字符串。beg:可选......
  • 字符串类型内置方法
    一、字符串类型内置方法(str)1.用途:描述性质的东西,如人的名字、单个爱好、地址、国家等2.定义:使用''、""、''''''、""""""包裹的的一串字符u'unicode':unicode编码的字符串b'101':二进制编码的字符串r'\n':原生字符串,也就是说......
  • v-if 判断是否包含字符串
    <el-buttonv-if="!table.name.includes('模板')"type="danger"size="mini"@click="deleteTempalte(table)">删除</el-button> <trv-for="(subsidy,i......
  • 批量删除/修改文件名中的某些字符串
    问题解决1.首先要批处理文件(夹),放在同一文件目录下。如:2.在该目录下,新建文本文件,输入以下代码,如:set/pstr1=请输入要替换的文件(文件夹)名字符串(可替换空格):set/pstr2=请输入替换后的文件(文件夹)名字符串(若删除直接回车):for/f"delims="%%ain('dir/s/b^|sort/......
  • 5-28 字符串杂题
    训练一共布置了8题,其中除了H以外,剩下的题目都是字符串题。这些题全部都可以只用哈希做,也全部都可以不用哈希做。CF126B-Password题意:要求找到一个字符串同时是\(S\)的前缀、后缀、非前后缀子串。哈希做法:首先,我们要查找,需要多短的前缀才能保证其有过非前后缀子串的出现......
  • GO数据类型(二)--字符串
    (文章目录)转义字符每一个都是一个字符,rune类型(int32)。可以作为单独字符使用,也可以作为字符串中的一个字符。\aU+0007alertorbell\bU+0008backspace\fU+000Cformfeed\nU+000Alinefeedornewline\rU+000Dcarriagereturn\tU+0009horizontal......
  • Problem L: STL——字符串排序
    HomeWebBoardProblemSetStandingStatusStatisticsProblemL:STL——字符串排序TimeLimit:1Sec  MemoryLimit:128MBSubmit:3482  Solved:1666[Submit][Status][WebBoard]Description  对N个字符串排序。  0<N<=5000......
  • 字符串匹配|kmp笔记
    很久之前学的了。做个笔记回忆一下:kmp朴素比对字符串所谓字符串匹配,是这样一种问题:“字符串T是否为字符串S的子串?如果是,它出现在S的哪些位置?”其中S称为主串;T称为模式串。如在字符串sabcabcabcabd中找到子串Tabcabd:先设两个指针i、j,i表示S的指针,j表示T的指针......
  • go语言字符串相关
    字符串使用双引号或反引号引起来的任意个字符。它是字面常量。注意,反引号内不支持转义字符。"abc测试"//不能换行,换行需要借助\n"abc\n测试"//换行`abc测试`//等价下面的字符串"abc\n\t测试"`json:"name"`//字符串里面如果有双引号,使用反引号定义方便"json:\"n......
  • 哈希处理字符串匹配
    问题A:【哈希和哈希表】子串查找时间限制:1Sec  内存限制:128MB提交:65  解决:18[提交][状态][讨论版][命题人:admin]题目描述这是一道模板题。给定一个字符串A和一个字符串B,求B在A中的出现次数。A和B中的字符均为英语大写字母或小写字母。A中不同位置出现的B......