-
A String S não recebeu o novo valor, então continua a mesma.
-
Na verdade funciona assim :
String s = "Java"; - Cria uma estrtura na HEAP chamada "Java"
s.concat(" SE 7"); - Cria outra estrutura na HEAP chamada "Java SE 7"
s.replace('7','8'); - Cria mais uma estrutura na HEAP chamada "Java SE 8"
E qual a variável está sendo impressa ? s .
logo imprime "Java"
Se fosse System.out.print(s.concat), então imprime "Java SE 7";
Se fosse System.out.print(s.replace), então imprime "Java SE 8";
-
haha, boa.
-
Que peguinha ...
-
String é uma classe imutável. Toda operação realizada numa instância de String como concat, substring ou replace resulta num NOVO objeto String que deve ser atribuído a uma variável.
Para operações em uma cadeia de caracteres mutável utilize StringBuffer ou StringBuilder.
-
Não fez nada, manteve o s = java
-
Muito bem Luciano Lima, agradecemos....
-
Alternativa correta: D.
.
.
Acho que pra imprimir "Java SE 8" o código teria que ficar assim:
s = s.concat(" SE 7");
s = s.replace('7','8');
.
Ou então imprimir direto:
System.out.println(s.concat(" SE 8");
-
Kkkkkkk, nessa eu não caio mais. Todos os métodos de strings retornam outras strings e não modificam a string original
-
RESOLUÇÃO:
O Java é claro, o restante é imprimir uma possível concatenação.
Resposta: D
-
Gabarito: D
Corrigindo o amigo @fracasso (Luciano Lima Fracasso):
- String s = "Java"; - Cria uma estrtura na HEAP chamada "Java"
- s.concat(" SE 7"); - Cria outra estrutura na HEAP chamada "Java SE 7"
- s.replace('7','8'); - Cria mais uma estrutura na HEAP chamada "Java"
E qual variável está sendo impressa?! s.
Logo, imprime "Java".
String é uma classe imutável. Toda operação realizada numa instância de String como concat, substring ou replace resulta em um novo objeto String que deve ser atribuído a uma variável.
Todos os métodos de strings retornam outras strings e não modificam a string original.
Para operações em uma cadeia de caracteres mutável utilize StringBuffer ou StringBuilder.
- Se fosse System.out.print(s.concat(" SE 7")), imprimiria "Java SE 7"
- Se fosse System.out.print(s.replace('7','8')), imprimiria "Java"
Para imprimir "Java SE 8" o código teria que ficar assim:
- String s = "Java";
- s = s.concat(" SE 7");
- s = s.replace('7','8');
- System.out.print(s);