Sé que hay muchos métodos upper()
en Java y otros frameworks como Apache commons lang, que convierten un String en mayúsculas.¿Existe un método de biblioteca existente que compruebe si una cadena es mayúscula o minúscula en Java?
¿Hay alguna biblioteca común que proporcione un método como isUpper(String s)
y isLower(String s)
, para comprobar si todos los caracteres en la cadena son mayúsculas o minúsculas?
EDIT:
Muchas buenas respuestas acerca de la conversión de Alto y comparando con esto. Creo que debería haber sido un poco más específico, y dije que ya había pensado en eso, pero esperaba poder usar un método existente para esto.
Buen comentario sobre la posible inclusión de esto en apache.commons.lang.StringUtils. Alguien ha enviado un parche (20090310). Con suerte, veremos esto pronto. https://issues.apache.org/jira/browse/LANG-471
EDIT:
Lo que necesitaba este método para, era capitalizar nombres de hoteles que a veces venían en mayúsculas. Solo quería capitalizarlos si fueran mayúsculas o minúsculas. me he corrido en que los problemas con caracteres no carta mencionados en algunos de los puestos, y terminé haciendo algo como esto:
private static boolean isAllUpper(String s) {
for(char c : s.toCharArray()) {
if(Character.isLetter(c) && Character.isLowerCase(c)) {
return false;
}
}
return true;
}
Esta discusión y soluciones diferentes (con diferentes problemas), muestra claramente que existe una necesidad de un buen método sólido es AllUpper (String s) en commons.lang
Hasta entonces supongo que el myString.toUpperCase().equals(myString)
es la mejor manera de hacerlo.
echar un vistazo @ https://issues.apache.org/jira/browse/LANG-471 a seguir si va a ser añadido en un solo día apache commons – chburd