检查字符串中的所有字符是否与没有循环的内置方法相同
TRUE如果String不使用正则表达式、循环或递归,如何使用内置方法构建一个在 a中的所有字符都相同的情况下返回的 Java 方法?
例子:
aaaaaa --> True
abaaaa --> False
Aaaaaa --> False
回答
您可以将字符串转换到一个IntStream使用.chars(),并检查流具有重复计数1使用.distinct().count() == 1。
String s = "aaaaaa";
boolean isAllCharsSame = s.chars().distinct().count() == 1;
isAllCharsSame会true如果在字符串中的所有字符s都相同,否则false。
编辑:
String s = "aaaaaa";
boolean isAllCharsSame = s.codePoints().distinct().count() == 1;
.chars() 不适用于 Unicode 代码点,例如 "",.codePoints()为此使用。感谢@BasilBourque 指出这一点。