Java中String方法学习总结_kaic

简介: Java中String方法学习总结_kaic

String详解

Java中的String是一个不可变的字符序列,它是Java中最常用的数据类型之一。

常用构造方法

String():无参构造方法,创建一个空字符串对象。

String(char[] value):通过字符数组创建一个字符串对象。

String(char[] value, int offset, int count):通过字符数组的一部分创建一个字符串对象,从指定的

   偏移量开始,取count个字符。

String(byte[] bytes):通过字节数组创建一个字符串对象,使用平台的默认字符集将字节解码为字符。

String(byte[] bytes, int offset, int length):通过字节数组的一部分创建一个字符串对象,从指定的

   偏移量开始,取length个字节,并使用平台的默认字符集将字节解码为字符。

String(String original):通过复制原始字符串创建一个新的字符串对象。

String(StringBuffer buffer):通过StringBuffer对象创建一个字符串对象。

String(StringBuilder builder):通过StringBuilder对象创建一个字符串对象。

代码演示

public class crj{

   public static void main(String[] args) {

       // 无参构造方法

       String str1 = new String();

       System.out.println("str1: " + str1);

               // 输出:str1:

       // 通过字符数组创建字符串对象

       char[] charArray = {'H', 'e', 'l', 'l', 'o'};

       String str2 = new String(charArray);

       System.out.println("str2: " + str2);

               // 输出:str2: Hello

       // 通过字符数组的一部分创建字符串对象

       String str3 = new String(charArray, 2, 3);

       System.out.println("str3: " + str3);

               // 输出:str3: llo

       // 通过字节数组创建字符串对象

       byte[] byteArray = {72, 101, 108, 108, 111};

       String str4 = new String(byteArray);

       System.out.println("str4: " + str4);

               // 输出:str4: Hello

       // 通过字节数组的一部分创建字符串对象

       String str5 = new String(byteArray, 2, 3);

       System.out.println("str5: " + str5);

               // 输出:str5: llo

       // 通过复制原始字符串创建新的字符串对象

       String original = "Hello";

       String str6 = new String(original);

       System.out.println("str6: " + str6);

               // 输出:str6: Hello

       // 通过StringBuffer对象创建字符串对象

       StringBuffer buffer = new StringBuffer("Hello");

       String str7 = new String(buffer);

       System.out.println("str7: " + str7);

                   // 输出:str7: Hello

       // 通过StringBuilder对象创建字符串对象

       StringBuilder builder = new StringBuilder("Hello");

       String str8 = new String(builder);

       System.out.println("str8: " + str8);

               // 输出:str8: Hello

   }

}

常用成员方法

int length():返回字符串的长度。

char charAt(int index):返回指定索引位置的字符。

int indexOf(String str):返回指定子字符串在字符串中第一次出现的索引位置。

int lastIndexOf(String str):返回指定子字符串在字符串中最后一次出现的索引位置。

boolean startsWith(String prefix):判断字符串是否以指定的前缀开始。

boolean endsWith(String suffix):判断字符串是否以指定的后缀结束。

boolean isEmpty():判断字符串是否为空。

String substring(int beginIndex):返回从指定索引位置开始到字符串末尾的子字符串。

String substring(int beginIndex, int endIndex):返回从指定的开始索引位置到结束索引位置的子字

   符串。

String replace(char oldChar, char newChar):将字符串中的所有旧字符替换为新字符。

String replace(CharSequence target, CharSequence replacement):将字符串中的所有目标字符序列替换为指定的

   替换字符序列。

String[] split(String regex):将字符串根据指定的正则表达式分割为字符串数组。

String trim():去除字符串两端的空白字符。

boolean equals(Object obj):判断字符串是否与指定对象相等。

boolean equalsIgnoreCase(String anotherString):忽略大小写判断字符串是否与另一个字符串相等。

String toLowerCase():将字符串转换为小写。

String toUpperCase():将字符串转换为大写。

String concat(String str):将指定字符串连接到原字符串的末尾。

boolean contains(CharSequence sequence):判断字符串是否包含指定的字符序列。

String format(String format, Object... args):将指定格式的字符串与参数进行格式化。

代码示例

public class StringMethodsDemo {

   public static void main(String[] args) {

       String str = "Hello, World!";

       // length()

       int length = str.length();

       System.out.println("Length: " + length);

           // 输出:Length: 13

       // charAt(int index)

       char ch = str.charAt(7);

       System.out.println("Character at index 7: " + ch);

            // 输出:Character at index 7: W

       // indexOf(String str)

       int index = str.indexOf("World");

       System.out.println("Index of 'World': " + index);

           // 输出:Index of 'World': 7

       // lastIndexOf(String str)

       int lastIndex = str.lastIndexOf("o");

       System.out.println("Last index of 'o': " + lastIndex);

           // 输出:Last index of 'o': 8

       // startsWith(String prefix)

       boolean startsWith = str.startsWith("Hello");

       System.out.println("Starts with 'Hello': " + startsWith);

           // 输出:Starts with 'Hello': true

       // endsWith(String suffix)

       boolean endsWith = str.endsWith("World");

       System.out.println("Ends with 'World': " + endsWith);

           // 输出:Ends with 'World': false

       // isEmpty()

       boolean isEmpty = str.isEmpty();

       System.out.println("Is empty: " + isEmpty);

           // 输出:Is empty: false

       // substring(int beginIndex)

       String substring1 = str.substring(7);

       System.out.println("Substring from index 7: " + substring1);

            // 输出:Substring from index 7: World!

       // substring(int beginIndex, int endIndex)

       String substring2 = str.substring(7, 12);

       System.out.println("Substring from index 7 to 12: " + substring2);

           // 输出:Substring from index 7 to 12: World

       // replace(char oldChar, char newChar)

       String replaced = str.replace('o', 'O');

       System.out.println("Replaced string: " + replaced); // 输出:Replaced string: HellO, WOrld!

       // replace(CharSequence target, CharSequence replacement)

       String replaced2 = str.replace("World", "Universe");

       System.out.println("Replaced string: " + replaced2);

           // 输出:Replaced string: Hello, Universe!

       // split(String regex)

       String[] splitArray = str.split(",");

       System.out.println("Split array: " + Arrays.toString(splitArray));

            // 输出:Split array: [Hello,  World!]

       // trim()

       String trimmed = str.trim();

       System.out.println("Trimmed string: " + trimmed);

           // 输出:Trimmed string: Hello, World!

       // equals(Object obj)

       boolean equals = str.equals("Hello, World!");

       System.out.println("Equals 'Hello, World!': " + equals);

           // 输出:Equals 'Hello, World!': true

       // equalsIgnoreCase(String anotherString)

       boolean equalsIgnoreCase = str.equalsIgnoreCase("hello, world!");

       System.out.println("Equals ignore case 'hello, world!': " + equalsIgnoreCase);

           // 输出:Equals ignore case 'hello, world!': true

       // toLowerCase()

       String lowerCase = str.toLowerCase();

       System.out.println("Lower case: " + lowerCase);

           // 输出:Lower case: hello, world!

       // toUpperCase()

       String upperCase = str.toUpperCase();

       System.out.println("Upper case: " + upperCase); // 输出:Upper case: HELLO, WORLD!

       // concat(String str)

       String concat = str.concat(" How are you?");

       System.out.println("Concatenated string: " + concat);

           // 输出:Concatenated string: Hello, World! How are you?

       // contains(CharSequence sequence)

       boolean contains = str.contains("World");

       System.out.println("Contains 'World': " + contains);

           // 输出:Contains 'World': true

       // format(String format, Object... args)

       String formatted = String.format("The value of pi is approximately %.2f", Math.PI);

       System.out.println("Formatted string: " + formatted);

           // 输出:Formatted string: The value of pi is approximately 3.14

   }

}

总结

String是一个重要的数据类型,它提供了许多方法来处理字符串。由于字符串的不可变性,每次对字符串进行

操作都会创建一个新的字符串对象,因此在频繁操作字符串时需要注意性能问题。

相关文章
|
1天前
|
缓存 Java 数据库
Java并发编程学习11-任务执行演示
【5月更文挑战第4天】本篇将结合任务执行和 Executor 框架的基础知识,演示一些不同版本的任务执行Demo,并且每个版本都实现了不同程度的并发性。
18 4
Java并发编程学习11-任务执行演示
|
1天前
|
XML JavaScript Java
详解Java解析XML的四种方法
详解Java解析XML的四种方法
|
1天前
|
存储 Java API
掌握8条方法设计规则,设计优雅健壮的Java方法
掌握8条方法设计规则,设计优雅健壮的Java方法
|
1天前
int 和 String 互相转换的多种方法
int 和 String 互相转换的多种方法
|
2天前
|
Java C语言
详解java方法与递归
详解java方法与递归
9 3
|
2天前
|
安全 Java 编译器
Java中String、StringBuilder和StringBuffer的区别
Java中String、StringBuilder和StringBuffer的区别
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
8 0
|
2天前
|
编译器 C++
【C++】继续学习 string类 吧
首先不得不说的是由于历史原因,string的接口多达130多个,简直冗杂… 所以学习过程中,我们只需要选取常用的,好用的来进行使用即可(有种垃圾堆里翻美食的感觉)
7 1
|
2天前
|
算法 安全 程序员
【C++】STL学习之旅——初识STL,认识string类
现在我正式开始学习STL,这让我期待好久了,一想到不用手撕链表,手搓堆栈,心里非常爽
9 0
|
2天前
|
存储 安全 测试技术
【C++】string学习 — 手搓string类项目
C++ 的 string 类是 C++ 标准库中提供的一个用于处理字符串的类。它在 C++ 的历史中扮演了重要的角色,为字符串处理提供了更加方便、高效的方法。
10 0
【C++】string学习 — 手搓string类项目