Considere a seguinte Classe Comparação implementada em Java....

Próximas questões
Com base no mesmo assunto
Q874239 Programação
Considere a seguinte Classe Comparação implementada em Java.
Imagem associada para resolução da questão

Quais strings serão impressas no console?
Alternativas

Comentários

Veja os comentários dos nossos alunos

Resposta B 
Método Concat->
Recebe o conteúdo entretanto não possui retorno logo a sua modificação é dentro da sua propria variável do método não altera a variável do main.
 

( str + str2).equals("testeConcat")->Falso pois nesse caso a comparação verifica se os endereços na memória são iguais e não o conteúdo.
O modo correto seria (str + str2).equals("testeConcat") ai sim retornaria true;

 

concat (str)-> Nesse momento ele passa para o método concat a String str

 

str.equals("testeConcat")  ->Cuidado a variavel str continua do mesmo modo inicial conteúdo "teste" logo esse if é falso
 

Deveria ser a letra D

Sempre que é passado uma referencia de um objeto (str) para um método e o valor que essa referencia aponta é alterado, no retorno do método esse valor passa a ser o novo valor do objeto..

Deveria ter usado o .equal(), pois == se compara a referencia, já .equal o valor.

Obs.: O método concat tem void. Ou seja, não retorna o valor. O que aconteceu dentro do bloco do método concat não vai alterar str.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo