Java中将字符串小写转换为大写的方法有哪些?哪种最简便?
- 后端开发
- 2025-09-14
- 6
在Java中,将字符串中的小写字母转换为大写字母有多种方法,以下是一些常用的方法:
使用String.toUpperCase()方法
这是最简单也是最直接的方法,只需调用字符串对象的toUpperCase()方法即可。

使用StringBuilder类
如果需要对字符串进行多次修改,使用StringBuilder可能更高效,因为它在内部使用可变数组,而不是创建新的字符串对象。
String original = "Hello World!"; StringBuilder sb = new StringBuilder(original); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); sb.setCharAt(1, Character.toUpperCase(sb.charAt(1))); String upperCase = sb.toString(); System.out.println(upperCase); // 输出: HELLO WORLD!
使用String类中的replaceAll()方法
这个方法可以用于更复杂的替换,比如替换所有小写字母为大写字母。
String original = "Hello World!"; String upperCase = original.replaceAll("[az]", match > match.group().toUpperCase()); System.out.println(upperCase); // 输出: HELLO WORLD!
使用Stream API进行转换
如果你熟悉Java 8的Stream API,也可以使用它来转换字符串。

String original = "Hello World!"; String upperCase = original.chars() .mapToObj(c > (char) c) .map(Character::toUpperCase) .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append) .toString(); System.out.println(upperCase); // 输出: HELLO WORLD!
使用String类中的toUpperCase()方法和Matcher类
这种方法使用正则表达式来匹配所有小写字母,并将它们转换为大写字母。

String original = "Hello World!"; String upperCase = original.replaceAll("(?i)[az]", match > match.group().toUpperCase()); System.out.println(upperCase); // 输出: HELLO WORLD!
| 方法 | 代码示例 | 说明 |
|---|---|---|
| toUpperCase() | String upperCase = original.toUpperCase(); | 简单直接,适用于单个字符串转换 |
| StringBuilder | StringBuilder sb = new StringBuilder(original); | 适用于多次修改字符串的情况 |
| replaceAll() | String upperCase = original.replaceAll("[az]", match > match.group().toUpperCase()); | 适用于复杂的替换操作 |
| Stream API | String upperCase = original.chars().mapToObj(c > (char) c).map(Character::toUpperCase).collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append).toString(); | 使用Java 8 Stream API进行转换 |
| replaceAll() | String upperCase = original.replaceAll("(?i)[az]", match > match.group().toUpperCase()); | 使用正则表达式匹配并替换 |
FAQs
Q1: 如何将字符串中的所有小写字母转换为大写字母,如果字符串包含数字和特殊字符?
A1: 可以使用String.toUpperCase()方法,它只会将小写字母转换为大写字母,而不会影响数字和特殊字符。
Q2: 如果我想要将字符串中的所有大写字母转换成小写字母,应该使用哪种方法?
A2: 可以使用String.toLowerCase()方法,与toUpperCase()方法类似,它只会将大写字母转换为小写字母,而不会影响其他字符。