在 Java 中,将 String 转换为 char 主要有以下几种常见方式,具体取决于你的需求:

(图片来源网络,侵删)
获取字符串的第一个字符
如果只想获取字符串的第一个字符,可以使用 charAt(0) 方法。
String str = "Hello"; char firstChar = str.charAt(0); // 'H' System.out.println(firstChar);
注意:
- 如果字符串为空(),调用
charAt(0)会抛出StringIndexOutOfBoundsException。 - 如果字符串长度为 0,必须先检查长度。
获取字符串的指定索引字符
如果需要获取字符串中任意位置的字符,可以指定索引(从 0 开始)。
String str = "Java"; char secondChar = str.charAt(1); // 'a' System.out.println(secondChar);
注意:

(图片来源网络,侵删)
- 索引范围是
0到length() - 1,超出范围会抛出StringIndexOutOfBoundsException。
将字符串转换为字符数组
如果需要将字符串的所有字符转换为 char 数组,可以使用 toCharArray() 方法。
String str = "World"; char[] charArray = str.toCharArray(); // ['W', 'o', 'r', 'l', 'd'] System.out.println(Arrays.toString(charArray));
用途:
- 适用于遍历字符串的所有字符或对字符进行批量操作。
从字符串中提取单个字符(带检查)
如果需要安全地获取字符(避免空指针或索引越界),可以添加检查逻辑。
String str = "Test";
if (str != null && str.length() > 0) {
char firstChar = str.charAt(0); // 'T'
System.out.println(firstChar);
} else {
System.out.println("字符串为空或null");
}
将字符串的第一个字符转换为 char(兼容空字符串)
如果字符串可能为空,可以使用 Optional 或三元运算符处理。
String str = ""; // 可能为空 char firstChar = str.isEmpty() ? '\0' : str.charAt(0); // '\0' 表示空字符 System.out.println(firstChar);
| 需求 | 方法 | 示例 |
|---|---|---|
| 获取第一个字符 | charAt(0) |
str.charAt(0) |
| 获取指定索引字符 | charAt(index) |
str.charAt(2) |
| 转换为字符数组 | toCharArray() |
str.toCharArray() |
| 安全获取字符 | 检查 length() |
str.length() > 0 ? str.charAt(0) : '\0' |
根据你的具体场景选择合适的方法!
