que tienen una cadena:toUpperCase en Java no funciona
String c = "IceCream";
Si utilizo la función toUpperCase()
entonces devuelve la misma cadena, pero quiero conseguir "ICECREAM"
.
¿Dónde está el problema?
que tienen una cadena:toUpperCase en Java no funciona
String c = "IceCream";
Si utilizo la función toUpperCase()
entonces devuelve la misma cadena, pero quiero conseguir "ICECREAM"
.
¿Dónde está el problema?
El código
String c = "IceCream";
String upper = c.toUpperCase();
System.out.println(upper);
imprime correctamente "HELADO". Sin embargo, la cadena c original no se cambia. Las cadenas en Java son immutable por lo que todas las operaciones en la cadena devuelven una nueva copia.
Se supone que debes utilizar de esta manera:
String c = "IceCream";
String upper_c = c.toUpperCase();
una alternativa también sería 'secuencia de c = "IceCream" .toUpperCase();' –
El objeto no se puede cambiar, porque String
es inmutable. Sin embargo, puede hacer que el punto de referencia para una nueva instancia, que es todo en mayúsculas:
String c = "IceCream";
c = c.toUpperCase();
Podría ser un problema con su configuración regional. Proveedores:
String c = "IceCream";
return c.toUpperCase(Locale.ENGLISH);
¿Espera la variable original, c
, que se han modificado por toUpperCase()
? Las cadenas son inmutables; métodos tales como .toUpperCase()
de retorno nuevas cadenas, dejando el original de un-modified:
String c = "IceCream";
String d = c.toUpperCase();
System.out.println(c); // prints IceCream
System.out.println(d); // prints ICECREAM
Ver también http://stackoverflow.com/ preguntas/22397861/why-is-string-inmutable-in-java – Raedwald