Java通过Character类处理单个字符,如判断数字、字母及大小写转换;String类提供charAt、toCharArray、indexOf等方法操作字符串;结合replaceAll、split、StringBuilder可实现去除非字母数字、统计字符、反转字符串等功能;常用场景需注意索引越界与大小写敏感问题。
Java 提供了丰富的内置方法来处理字符和字符串。虽然 Java 中没有“函数”这一说法(属于面向对象语言,使用“方法”),但可以通过 String 类、Character 类以及其他工具类来高效操作字符。以下是常用字符处理方法的分类说明。
1. Character 类:处理单个字符
Character 是一个包装类,包含大量静态方法用于判断和转换单个字符。
-
Character.isDigit(char ch):判断是否为数字。例如:Character.isDigit('5') 返回 true。
-
Character.isLetter(char ch):判断是否为字母。例如:Character.isLetter('A') 返回 true。
-
Character.isLetterOrDigit(char ch):判断是否为字母或数字。
-
Character.isWhitespace(char ch):判断是否为空白字符(如空格、制表符)。
-
Character.toUpperCase(char ch) 和 Character.toLowerCase(char ch):大小写转换。
-
Character.isUpperCase(c
har ch) / Character.isLowerCase(char ch):判断大小写。
2. String 类:处理字符串中的字符
String 类提供了多种方法对字符串中的字符进行操作。
-
charAt(int index):获取指定位置的字符。例如:"hello".charAt(0) 返回 'h'。
-
toCharArray():将字符串转为字符数组,便于逐个处理。例如:"abc".toCharArray() 得到 ['a','b','c']。
-
indexOf(char ch) 和 lastIndexOf(char ch):查找字符首次或最后一次出现的位置。
-
replace(char oldChar, char newChar):替换所有指定字符。例如:"apple".replace('p', 'b') 得到 "abble"。
-
substring(int beginIndex, int endIndex):截取子串,基于字符位置。
-
split(String regex):按规则拆分字符串,常用于分隔符处理。
3. 常见字符处理场景与示例
结合上述方法,可以实现常见需求:
- 去除字符串中的非字母数字字符:
String cleaned = str.replaceAll("[^a-zA-Z0-9]", "");
- 统计字符串中某个字符出现次数:
int count = (int) str.chars().filter(ch -> ch == 'a').count();
- 判断字符串是否全由数字组成:
boolean isNumeric = str.chars().allMatch(Character::isDigit);
- 反转字符串:
new StringBuilder(str).reverse().toString();
4. 其他辅助类
除了核心类,还可以使用:
-
StringBuilder / StringBuffer:用于频繁修改字符串内容,提高性能。
-
Scanner 或 split():解析字符或字段。
-
Pattern 和 Matcher:正则表达式处理复杂字符匹配。
基本上就这些。掌握 Character 和 String 的常用方法,就能应对大多数字符处理任务。不复杂但容易忽略细节,比如索引越界或大小写敏感问题,写代码时注意边界判断即可。