检查字符串是否仅包含字母
这个想法是读取字符串并验证它不包含任何数字字符。因此,像“smith23”这样的东西是不可接受的。
你想要什么?速度还是简单?对于速度,请采用基于循环的方法。为简单起见,请选择基于正则表达式的单衬里方法。
速度
public boolean isAlpha(String name) {
char[] chars = name.toCharArray();
for (char c : chars) {
if(!Character.isLetter(c)) {
return false;
}
}
return true;
}
单纯
public boolean isAlpha(String name) {
return name.matches("[a-zA-Z]+");
}
Java 8 lambda 表达式。既快速又简单。
boolean allLetters = someString.chars().allMatch(Character::isLetter);