Métodos String toLowerCase y toUpperCase en Java

1. Información general

En este tutorial, cubriremos los métodos toUpperCase y toLowerCase incluidos en la clase Java String .

Comenzaremos creando una cadena llamada name :

String name = "John Doe";

2. Convertir a mayúsculas

Para crear una nueva cadena en mayúsculas basada en el nombre , llamamos al método toUpperCase :

String uppercaseName = name.toUpperCase();

Esto da como resultado que el nombre de mayúsculas tenga el valor "JOHN DOE" :

assertEquals("JOHN DOE", uppercaseName);

Tenga en cuenta que las cadenas son inmutables en Java y que llamar a toUpperCase crea una nueva cadena . En otras palabras, el nombre no cambia al llamar a toUpperCase .

3. Convertir a minúsculas

De manera similar, creamos una nueva cadena en minúsculas basada en el nombre llamando a toLowerCase :

String lowercaseName = name.toLowerCase();

Esto da como resultado que el nombre en minúsculas tenga el valor "john doe" :

assertEquals("john doe", lowercaseName);

Al igual que con toUpperCase , toLowerCase no cambia el valor de name .

4. Cambiar mayúsculas y minúsculas mediante configuraciones regionales

Además, al proporcionar un Locale a los métodos toUpperCase y toLowerCase , podemos cambiar el caso de un String usando reglas específicas del locale.

Por ejemplo, podemos proporcionar una configuración regional para poner en mayúsculas una i turca (Unicode 0069 ) :

Locale TURKISH = new Locale("tr"); System.out.println("\u0069".toUpperCase()); System.out.println("\u0069".toUpperCase(TURKISH));

En consecuencia, esto da como resultado una I mayúscula y una I mayúscula punteada :

I İ

Podemos verificar esto usando las siguientes afirmaciones:

assertEquals("\u0049", "\u0069".toUpperCase()); assertEquals("\u0130", "\u0069".toUpperCase(TURKISH));

Asimismo, podemos hacer lo mismo para toLowerCase usando el turco I (Unicode 0049 ):

System.out.println("\u0049".toLowerCase()); System.out.println("\u0049".toLowerCase(TURKISH));

En consecuencia, esto da como resultado una i minúscula y una i minúscula sin puntos :

i ı

Podemos verificar esto usando las siguientes afirmaciones:

assertEquals("\u0069", "\u0049".toLowerCase()); assertEquals("\u0131", "\u0049".toLowerCase(TURKISH));

5. Conclusión

En conclusión, la clase Java String incluye los métodos toUpperCase y toLowerCase para cambiar el caso de un String . Si es necesario, un Locale puede ser suministrado para proporcionar reglas locale-específicas cuando se cambia el caso de una cadena.

El código fuente de este artículo, incluidos los ejemplos, se puede encontrar en GitHub.