¿Qué sucede cuando se cambia un literal de cadena? [duplicar
Esta pregunta ya tiene una respuesta aquí:
Es Java "paso por referencia" o "paso por valor"? 78 respuestastoUpperCase en Java no funciona 5 respuestasQuiero cambiar un literal de cadena a mayúscula. Aquí está mi código:
// a and b are the same literal
String a = "Test";
String b = "Test";
// now I want to change all b's letter
// into uppercases, but fail.
b.toUpperCase();
System.out.println("a = " + a + ", " + "b = " + b);
// print: a = Test, b = Test
String c = "Test1";
System.out.println("c = " + c + " , c.toUpperCase() = "
+ c.toUpperCase());
// print: c = Test1 , c.toUpperCase() = TEST1
// change letters of "Test" literal
// into uppercase and success
System.out.println("Test".toUpperCase());
// print: TEST
Mi pregunta es: 1.b
no se puede cambiar a mayúscula, peroc
y"Test"
lata. ¿Por qué
Lo que sé es: 1.a
yb
referencia al mismo objeto en el conjunto de cadenas. 2. La cadena es inmutable, pero no parece relevante para esta pregunta.