Если вы используете Guava, вы можете получить его с помощью мощного CharMatcher
:
Сначала скомпилируйте совпадение как член класса c, чтобы сделать это один раз и вам не нужно чтобы пересчитать его при каждом вызове.
private static final CharMatcher UPPERCASE_LETTER = CharMatcher.inRange('A', 'Z');
Измените его на любые буквы, которые вы действительно хотите. Например, если вам нужны некоторые акцентированные символы, вы можете расширить следующее:
private static final CharMatcher UPPERCASE_LETTER = CharMatcher.inRange('A', 'Z')
.or(CharMatcher.anyOf("ÁÀÄÂÉÈËÊÍÌÏÎÓÒÖÔÚÙÜÛ"));
Если вы ленивы и просто хотите делегировать Character::isUpperCase
, это также возможно:
private static final CharMatcher UPPERCASE_LETTER = CharMatcher.forPredicate(Character::isUpperCase)
Затем в своем коде напишите следующее:
if (UPPERCASE_LETTER.matchesAnyOf(key)) {
// Do what you want
}