-1

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

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

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

4

2 回答 2

1

使用Stream.allMatch

String[] names = {"Linda", "Peter", "Carol", "Paul"};
boolean allUpper = Arrays.stream(names).allMatch(name -> Character.isUpperCase(String.codePointAt(0)));
于 2019-09-25T22:06:51.830 回答
1

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

于 2019-09-25T22:07:29.523 回答