String 类的常用方法都有那些?

发布时间:2024年01月09日

String类是Java中用于处理字符串的基本类,提供了丰富的方法用于字符串的操作和处理。在这篇文章中,我们将详细讲解String类的一些常用方法,涵盖字符串的创建、查询、比较、修改等方面。理解这些方法的使用方式和特性对于Java开发者来说是至关重要的。

1. 字符串的创建

1.1 构造方法

String类有多个构造方法,用于创建字符串对象。最常用的是使用字符串字面值创建对象,例如:

String str1 = "Hello, World!";
1.2 valueOf方法

String类中的valueOf方法可以将其他数据类型转换为字符串。它有多个重载形式,可以接受基本数据类型、对象等。

int num = 42;
String str2 = String.valueOf(num);  // 将整数转换为字符串

2. 字符串的查询

2.1 length方法

length方法返回字符串的长度,即包含的字符数。

String str = "Hello, World!";
int length = str.length();  // 返回 13
2.2 charAt方法

charAt方法返回指定索引位置的字符。

char ch = str.charAt(7);  // 返回 'W'
2.3 indexOflastIndexOf方法

indexOf方法返回指定字符或子字符串在字符串中第一次出现的位置,如果没有找到则返回-1。lastIndexOf方法返回最后一次出现的位置。

int firstIndex = str.indexOf('o');  // 返回 4
int lastIndex = str.lastIndexOf('o');  // 返回 8
2.4 substring方法

substring方法用于提取子字符串,可以根据起始索引和结束索引来指定子字符串的范围。

String subStr = str.substring(7, 12);  // 返回 "World"

3. 字符串的比较

3.1 equals方法

equals方法用于比较两个字符串是否相等,区分大小写。

String s1 = "Hello";
String s2 = "hello";
boolean isEqual = s1.equals(s2);  // 返回 false
3.2 equalsIgnoreCase方法

equalsIgnoreCase方法用于比较两个字符串是否相等,不区分大小写。

boolean isEqualIgnoreCase = s1.equalsIgnoreCase(s2);  // 返回 true
3.3 compareTo方法

compareTo方法用于比较两个字符串的大小关系,返回一个整数,表示两个字符串的大小关系。

int result = s1.compareTo(s2);
// 如果result为0,表示相等;如果result大于0,表示s1大于s2;如果result小于0,表示s1小于s2

4. 字符串的转换

4.1 toUpperCasetoLowerCase方法

toUpperCase方法将字符串中的所有字母转换为大写,toLowerCase方法将字符串中的所有字母转换为小写。

String upperCaseStr = str.toUpperCase();  // 返回 "HELLO, WORLD!"
String lowerCaseStr = str.toLowerCase();  // 返回 "hello, world!"
4.2 toCharArray方法

toCharArray方法将字符串转换为字符数组。

char[] charArray = str.toCharArray();
4.3 getBytes方法

getBytes方法将字符串转换为字节数组。

byte[] byteArray = str.getBytes();

5. 字符串的替换与删除

5.1 replace方法

replace方法用于替换字符串中的字符或子字符串。

String replacedStr = str.replace("World", "Universe");
5.2 replaceAll方法

replaceAll方法使用正则表达式替换字符串中的字符或子字符串。

String regexReplacedStr = str.replaceAll("[aeiou]", "*");
5.3 substring和拼接

通过substring方法和字符串的拼接,可以实现删除指定部分字符的效果。

String modifiedStr = str.substring(0, 5) + str.substring(7);
// 返回 "Hello, old!"

6. 字符串的判断

6.1 isEmpty方法

isEmpty方法用于判断字符串是否为空。

boolean isEmpty = str.isEmpty();  // 返回 false
6.2 startsWithendsWith方法

startsWith方法用于判断字符串是否以指定的前缀开始,endsWith方法用于判断字符串是否以指定的后缀结束。

boolean startsWithHello = str.startsWith("Hello");  // 返回 true
boolean endsWithWorld = str.endsWith("World!");  // 返回 true
6.3 contains方法

contains方法用于判断字符串是否包含指定的字符或子字符串。

boolean containsHello = str.contains("Hello");  // 返回 true

7. 字符串的格式化

7.1 format方法

format方法用于格式化字符串,类似于C语言中的printf函数。

String formattedStr = String.format("The value of pi is approximately %.2f", Math.PI);
// 返回 "The value of pi is approximately 3.14"

8. 字符串的分割与连接

8.1 split方法

split方法根据指定的正则表达式将字符串分割为字符串数组。

String[] parts = str.split(", ");  // 返回 {"Hello", "World!"}
8.2 join方法

join方法用于连接字符串数组中的元素,可以指定连接符。

String[] array = {"Hello", "World!"};
String joinedStr = String.join(", ", array);  // 返回 "Hello, World!"

9. 字符串的修剪

9.1 trim方法

trim方法用于去除字符串两端的空格。

String spacedStr = " Hello, World! ";
String trimmedStr = spacedStr.trim(); // 返回 "Hello, World!"

10. 字符串的比较与匹配

10.1 `matches`方法

`matches`方法用于判断字符串是否匹配指定的正则表达式。

boolean isMatch = str.matches("^[A-Za-z,\\s!]+$");  // 返回 true,表示字符串只包含字母、逗号、空格和感叹号

11. 字符串的不可变性

String类的不可变性是其重要的特性之一,它意味着一旦创建了字符串对象,其值就不能被修改。因此,所有涉及字符串的修改操作都会返回一个新的String对象。这种不可变性有助于确保字符串的安全性和稳定性。

12. 字符串的性能注意事项

尽管String类提供了丰富的方法用于字符串操作,但需要注意的是,由于不可变性的特性,每次对字符串的修改都会导致新的字符串对象的创建,可能会对性能产生一定影响。在需要频繁修改字符串的情况下,尤其是在循环或大数据量的处理中,考虑使用可变的字符串类StringBuilderStringBuffer,以提高性能。

在Java中,String类是一个基础而重要的类,其丰富的方法提供了强大的字符串操作功能。通过灵活运用这些方法,开发者可以轻松地进行字符串的创建、查询、比较、转换、替换等各种操作。理解字符串操作的方法和特性,对于编写高效、清晰的Java代码至关重要。

黑马程序员Java零基础视频教程_上部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

黑马程序员Java零基础视频教程_下部(Java入门,含斯坦福大学练习题+力扣算法题和大厂java面试题)

文章来源:https://blog.csdn.net/Itmastergo/article/details/135476819
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。