如果我有一组名称,如何使用 forall (或其他功能)检查它们是否都以大写字母开头?
String[] names = {"Linda", "Peter", "Carol", "Paul"};
names.forall(name -> Character.isUpperCase(name.charAt(0)));
这是错误的,我还不太熟悉高阶函数,所以我可以使用一些帮助。
如果我有一组名称,如何使用 forall (或其他功能)检查它们是否都以大写字母开头?
String[] names = {"Linda", "Peter", "Carol", "Paul"};
names.forall(name -> Character.isUpperCase(name.charAt(0)));
这是错误的,我还不太熟悉高阶函数,所以我可以使用一些帮助。
String[] names = {"Linda", "Peter", "Carol", "Paul"};
boolean allUpper = Arrays.stream(names).allMatch(name -> Character.isUpperCase(String.codePointAt(0)));
在 Java 8+ 中:
Arrays.stream(names).allMatch(name -> Character.isUpperCase(name.codePointAt(0)));
或者:
Stream.of(names).allMatch(name -> Character.isUpperCase(name.codePointAt(0)));
请注意,我替换charAt(0)
为codePointAt(0)
所以它支持补充平面中的 Unicode 字符。