Я знаю, что в Java есть много методов upper()
и других фреймворков, таких как Apache commons lang, которые преобразуют String во весь верхний регистр.
Существуют ли какие-либо общие библиотеки, которые предоставляют метод типа isUpper(String s)
и isLower(String s)
, чтобы проверить, являются ли все символы в строке строчными или строчными?
EDIT:
Много хороших ответов о преобразовании в Upper и сравнении с этим. Думаю, я должен был быть более конкретным и сказал, что я уже думал об этом, но я надеялся, что смогу использовать существующий метод для этого.
Хороший комментарий о возможном включении этого в apache.commons.lang.StringUtils. Кто-то даже представил патч (20090310). Надеюсь, мы скоро это увидим. https://issues.apache.org/jira/browse/LANG-471
EDIT:
Для чего мне нужен этот метод, нужно было использовать названия отелей, которые иногда приходили во все прописные буквы. Я только хотел загладить их, если они были все ниже или в верхнем регистре. Я столкнулся с проблемами с символами без буквы, упомянутыми в некоторых сообщениях, и в итоге сделал что-то вроде этого:
private static boolean isAllUpper(String s) {
for(char c : s.toCharArray()) {
if(Character.isLetter(c) && Character.isLowerCase(c)) {
return false;
}
}
return true;
}
Это обсуждение и различные решения (с различными проблемами) ясно показывают, что существует потребность в хорошем твердотельном методе AllUpper (String s) в commons.lang
До тех пор я предполагаю, что myString.toUpperCase().equals(myString)
- лучший способ пойти.