Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Refatorando um Método

Bom dia a todos,

Estou com uma dúvida, se alguém puder me ajudar serei muito grato! Vamos lá: na Aula 07 do curso aproximadamente aos 10:25 o professor refatora um método (não sei se assim é o correto a se dizer) só que esse novo método (transformaResultadoEmProdutos) não retorna nada e ele passa um ArrayList como argumento e o método altera esse ArrayList, mas não devolve nada, como que o método que o chamou devolve um ArrayList atualizado?? :O

Grato desde já!

2 respostas
solução!

Tudo bem Tiago?

Quando falamos em objetos e variáveis que são do tipo de classe (como ArrayList) e como no código abaixo:

List<Produto> produtos = new ArrayList<>();

a parte do new ArrayList<>() cria um objeto na memória.

O valor atribuído para a variável produtos, é a referência para o objeto na memória.

Quando você passa produtos para o método transformaResultadoEmProdutos() você está passando apenas a referência para um objeto que já foi criado na memória.

E então dentro desse método você está modificando o objeto que foi criado no método lista(), por exemplo.

Você pode ver mais sobre isso nesse vídeo: https://cursos.alura.com.br/course/primeiros-passos-com-java/task/2080

Faz sentido? Abraço!

Boa Noite Lucas! Ah sim, tinha me esquecido desse detalhe. As vezes me confundo com isso, devo me confundir por causa das Strings que não da para modificar "kkkkk". Enfim, muito obrigado pela atenção!!! =D