首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java API 之 String类详解(掌握字符串操作的利器)

Java API 之 String类详解(掌握字符串操作的利器)

作者头像
艾伦耶格尔
发布2025-08-28 14:03:50
发布2025-08-28 14:03:50
3360
举报
文章被收录于专栏:Java基础Java基础

深入剖析 Java String 类:掌握字符串操作的艺术

String 类是 Java 中最基础、最常用的类之一,它用于表示文本字符串。String 类提供了丰富的 API,可以用来操作字符串,例如连接、分割、查找、替换等。

本篇博客将深入剖析 String 类,并通过详细的代码示例展示其所有常用方法的用途,让你真正掌握字符串操作的艺术。

1. 创建字符串对象

代码语言:javascript
复制
String str1 = "Hello"; // 使用字面量创建字符串对象
String str2 = new String("World"); // 使用构造函数创建字符串对象
  • 字面量创建: 直接使用双引号括起来的字符串字面量创建字符串对象,这是最常用的方式。
  • 构造函数创建: 使用 new String() 构造函数创建字符串对象,可以指定字符串内容。

2. 获取字符串长度

代码语言:javascript
复制
String str = "Hello World!";
int length = str.length(); // 返回字符串长度,结果为 12
System.out.println("字符串长度为:" + length);
  • length() 方法返回字符串中字符的个数。

3. 连接字符串

代码语言:javascript
复制
String str1 = "Hello";
String str2 = "World";

// 使用 + 运算符连接字符串
String str3 = str1 + " " + str2;
System.out.println(str3); // 输出结果为 "Hello World"

// 使用 join() 方法连接字符串
String str4 = String.join(" ", str1, str2);
System.out.println(str4); // 输出结果为 "Hello World"

// 使用 format() 方法连接字符串
String str5 = String.format("%s %s", str1, str2);
System.out.println(str5); // 输出结果为 "Hello World"
  • + 运算符: 最简单直接的连接方式,可以连接多个字符串。
  • join() 方法: 可以指定分隔符连接多个字符串,更灵活。
  • format() 方法: 可以使用占位符格式化字符串,更强大。

4. 访问单个字符

代码语言:javascript
复制
String str = "Hello";
char ch = str.charAt(1); // 返回字符串第二个字符,结果为 'e'
System.out.println(ch);

// 访问字符串中每个字符
for (int i = 0; i < str.length(); i++) {
    System.out.println("第 " + (i + 1) + " 个字符是:" + str.charAt(i));
}
  • charAt(int index) 方法返回指定位置的字符。

5. 查找子字符串

代码语言:javascript
复制
String str = "Hello World!";

int index1 = str.indexOf("World"); // 返回子字符串 "World" 在字符串中的第一个出现位置,结果为 6
System.out.println("World 在字符串中的位置:" + index1);

int index2 = str.lastIndexOf("l"); // 返回子字符串 "l" 在字符串中的最后一个出现位置,结果为 9
System.out.println("最后一个 'l' 的位置:" + index2);
  • indexOf(String str) 方法返回指定子字符串在字符串中第一次出现的位置。
  • lastIndexOf(String str) 方法返回指定子字符串在字符串中最后一次出现的位置。

6. 替换子字符串

代码语言:javascript
复制
String str = "Hello World!";
String newStr = str.replace("World", "Java"); // 将字符串中的 "World" 替换为 "Java",结果为 "Hello Java!"
System.out.println(newStr);

String str2 = "Hello World! World!";
String newStr2 = str2.replaceAll("World", "Java"); // 将所有 "World" 替换为 "Java",结果为 "Hello Java! Java!"
System.out.println(newStr2);
  • replace(CharSequence target, CharSequence replacement) 方法将所有出现的目标字符串替换为指定字符串。
  • replaceAll(String regex, String replacement) 方法使用正则表达式替换字符串。

7. 比较字符串

代码语言:javascript
复制
String str1 = "Hello";
String str2 = "hello";

boolean isEqual = str1.equals(str2); // 比较两个字符串是否相等,结果为 false
System.out.println("str1 和 str2 是否相等:" + isEqual);

boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2); // 忽略大小写比较两个字符串是否相等,结果为 true
System.out.println("忽略大小写比较 str1 和 str2 是否相等:" + isEqualIgnoreCase);
  • equals(Object obj) 方法比较两个字符串是否相等。
  • equalsIgnoreCase(String anotherString) 方法忽略大小写比较两个字符串是否相等。

8. 提取子字符串

代码语言:javascript
复制
String str = "Hello World!";
String subStr = str.substring(6); // 提取字符串从索引 6 开始到结尾的子字符串,结果为 "World!"
System.out.println(subStr);

String subStr2 = str.substring(0, 5); // 提取字符串从索引 0 到 4 的子字符串,结果为 "Hello"
System.out.println(subStr2);
  • substring(int beginIndex) 方法提取从指定位置开始到字符串结尾的子字符串。
  • substring(int beginIndex, int endIndex) 方法提取从指定开始位置到结束位置的子字符串。

9. 将字符串转换为其他数据类型

代码语言:javascript
复制
String str = "123";
int num = Integer.parseInt(str); // 将字符串 "123" 转换为整数 123
System.out.println(num);

String str2 = "3.14";
double d = Double.parseDouble(str2); // 将字符串 "3.14" 转换为双精度浮点数 3.14
System.out.println(d);
  • Integer.parseInt(String s) 将字符串转换为整数。
  • Double.parseDouble(String s) 将字符串转换为双精度浮点数。

10. 将其他数据类型转换为字符串

代码语言:javascript
复制
int num = 123;
String str = String.valueOf(num); // 将整数 123 转换为字符串 "123"
System.out.println(str);

double d = 3.14;
String str2 = String.valueOf(d); // 将双精度浮点数 3.14 转换为字符串 "3.14"
System.out.println(str2);
  • String.valueOf(int i) 将整数转换为字符串。
  • String.valueOf(double d) 将双精度浮点数转换为字符串。

11. 移除字符串首尾空格

代码语言:javascript
复制
String str = "  Hello World!  ";
String trimmedStr = str.trim(); // 移除字符串首尾空格,结果为 "Hello World!"
System.out.println(trimmedStr);
  • trim() 方法移除字符串首尾空格。

12. 将字符串转换为字符数组

代码语言:javascript
复制
String str = "Hello";
char[] chars = str.toCharArray(); // 将字符串 "Hello" 转换为字符数组
for (char c : chars) {
    System.out.println(c);
}
  • toCharArray() 方法将字符串转换为字符数组。

13. 判断字符串是否为空

代码语言:javascript
复制
String str1 = "Hello";
String str2 = "";

boolean isEmpty1 = str1.isEmpty(); // 判断字符串是否为空,结果为 false
System.out.println("str1 是否为空:" + isEmpty1);

boolean isEmpty2 = str2.isEmpty(); // 判断字符串是否为空,结果为 true
System.out.println("str2 是否为空:" + isEmpty2);
  • isEmpty() 方法判断字符串是否为空。

14. 将字符串转换为大写

代码语言:javascript
复制
String str = "Hello World!";
String upperStr = str.toUpperCase(); // 将字符串转换为大写,结果为 "HELLO WORLD!"
System.out.println(upperStr);
  • toUpperCase() 方法将字符串中的所有字符转换为大写。

15. 将字符串转换为小写

代码语言:javascript
复制
String str = "Hello World!";
String lowerStr = str.toLowerCase(); // 将字符串转换为小写,结果为 "hello world!"
System.out.println(lowerStr);
  • toLowerCase() 方法将字符串中的所有字符转换为小写。

16. 判断字符串是否以指定字符串开头

代码语言:javascript
复制
String str = "Hello World!";
boolean startsWithHello = str.startsWith("Hello"); // 判断字符串是否以 "Hello" 开头,结果为 true
System.out.println("str 以 'Hello' 开头吗?" + startsWithHello);
  • startsWith(String prefix) 方法判断字符串是否以指定字符串开头。

17. 判断字符串是否以指定字符串结尾

代码语言:javascript
复制
String str = "Hello World!";
boolean endsWithWorld = str.endsWith("World!"); // 判断字符串是否以 "World!" 结尾,结果为 true
System.out.println("str 以 'World!' 结尾吗?" + endsWithWorld);
  • endsWith(String suffix) 方法判断字符串是否以指定字符串结尾。

18. 判断字符串是否包含指定字符串

代码语言:javascript
复制
String str = "Hello World!";
boolean containsWorld = str.contains("World"); // 判断字符串是否包含 "World",结果为 true
System.out.println("str 包含 'World' 吗?" + containsWorld);
  • contains(CharSequence s) 方法判断字符串是否包含指定字符串。

结语:希望以上知识点能够帮助各位看官更好地理解和使用 String 类,多加练习,毕竟String类是Java当中比较重要的工具,感谢各位看官,下期见,谢谢~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建字符串对象
  • 2. 获取字符串长度
  • 3. 连接字符串
  • 4. 访问单个字符
  • 5. 查找子字符串
  • 6. 替换子字符串
  • 7. 比较字符串
  • 8. 提取子字符串
  • 9. 将字符串转换为其他数据类型
  • 10. 将其他数据类型转换为字符串
  • 11. 移除字符串首尾空格
  • 12. 将字符串转换为字符数组
  • 13. 判断字符串是否为空
  • 14. 将字符串转换为大写
  • 15. 将字符串转换为小写
  • 16. 判断字符串是否以指定字符串开头
  • 17. 判断字符串是否以指定字符串结尾
  • 18. 判断字符串是否包含指定字符串
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档