如何使用forAll检查数组中的所有字符串是否都以大写字母开头?



如果我有一个名称数组,如何检查它们是否都以使用 forall 的大写字母开头(或其他功能(?

String[] names = {"Linda", "Peter", "Carol", "Paul"};
names.forall(name -> Character.isUpperCase(name.charAt(0))); 

这是错误的,我还不太熟悉高阶函数,所以我可以使用一些帮助。

使用Stream.allMatch

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 字符。

相关内容

  • 没有找到相关文章

最新更新