28 Java常用类之字符串类

在上一章中,我们讨论了面向对象编程中的访问控制修饰符,掌握了如何控制类、方法和变量的可见性。在这一章,我们将重点关注Java中的字符串类,String,以及它的一些常用操作。

1. 什么是字符串

在Java中,字符串是一个不可变的字符序列。也就是说,一旦创建,字符串的内容就不能被更改。字符串在Java中是用String类来表示的。

字符串的创建可以通过两种方式:

  • 字面量创建:String str = "Hello, World!";
  • 使用new关键字:String str = new String("Hello, World!");

虽然这两种方式都可以创建字符串,但更推荐使用字面量创建方式,因为这样会更高效。

2. 字符串的基本操作

2.1 获取字符串长度

可以使用length()方法来获取字符串的长度。例如:

1
2
3
String str = "Hello, World!";
int length = str.length();
System.out.println("字符串长度: " + length); // 输出: 字符串长度: 13

2.2 字符串拼接

在Java中,可以使用+运算符或concat()方法来拼接字符串。

1
2
3
4
String str1 = "Hello";
String str2 = "World";
String result = str1 + ", " + str2 + "!";
System.out.println(result); // 输出: Hello, World!

使用concat()方法:

1
2
String result = str1.concat(", ").concat(str2).concat("!");
System.out.println(result); // 输出: Hello, World!

2.3 字符串比较

String类提供了equals()方法和compareTo()方法来检查字符串的相等性和排序。

1
2
3
4
5
6
7
8
9
String str1 = "abc";
String str2 = "abc";
String str3 = new String("abc");

System.out.println(str1.equals(str2)); // 输出: true
System.out.println(str1.equals(str3)); // 输出: true
System.out.println(str1 == str3); // 输出: false,因为引用不同

System.out.println(str1.compareTo(str2)); // 输出: 0,相等

2.4 提取子字符串

可以使用substring()方法提取字符串的子字符串。

1
2
3
String str = "Hello, World!";
String substr = str.substring(7, 12);
System.out.println(substr); // 输出: World

2.5 查找字符或子字符串

可以使用indexOf()方法查找字符或子字符串的位置。

1
2
3
String str = "Hello, World!";
int index = str.indexOf("World");
System.out.println("World的起始位置: " + index); // 输出: World的起始位置: 7

2.6 字符串的替换

可以使用replace()方法进行字符串的替换操作。

1
2
3
String str = "Hello, World!";
String newStr = str.replace("World", "Java");
System.out.println(newStr); // 输出: Hello, Java!

2.7 字符串分割

使用split()方法可以将字符串按指定分隔符分割成字符串数组。

1
2
3
4
5
String str = "Java,Python,C++,JavaScript";
String[] languages = str.split(",");
for (String language : languages) {
System.out.println(language); // 输出: Java, Python, C++, JavaScript
}

3. 字符串的常用方法总结

以下是一些常用的字符串方法:

  • length(): 获取字符串长度
  • charAt(int index): 获取指定索引的字符
  • substring(int beginIndex): 从指定索引获取子字符串
  • substring(int beginIndex, int endIndex): 获取指定范围的子字符串
  • indexOf(String str): 查找子字符串第一个出现的位置
  • replace(CharSequence target, CharSequence replacement): 替换指定字符/字符串
  • split(String regex): 按照正则表达式分割字符串

4. 案例:字符串处理

假设我们有一个字符串数据,其中包含多个用户的电子邮件地址。我们希望提取出这些电子邮件的用户名部分,以便后续处理。

1
2
3
4
5
6
7
8
9
10
11
public class EmailExtractor {
public static void main(String[] args) {
String emails = "alice@example.com,bob@example.com,charlie@example.com";
String[] emailArray = emails.split(",");

for (String email : emailArray) {
String username = email.substring(0, email.indexOf("@"));
System.out.println("用户名: " + username);
}
}
}

运行上述代码,将输出:

1
2
3
用户名: alice
用户名: bob
用户名: charlie

5. 结束语

在这一章中,我们详细讨论了Java中的字符串类String的基本概念及其常用操作。字符串是程序员日常编程中非常重要的基本数据类型,掌握字符串的各种操作将为后续编程打下坚实的基础。

在下一章中,我们将学习Java中的日期类,掌握如何处理和操作日期数据。

28 Java常用类之字符串类

https://zglg.work/java-zero/28/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论