Bom pessoal abaixo está minha classe CarrinhoDeCompras.java
Minha dúvida está junto ao metodo abaixo em questão comentado no código java
package net.rcy.appwebpizzaria.modelo;
import java.util.ArrayList;
import java.util.List;
public class CarrinhoDeCompras {
private List<ItemDoPedido> itens;
private Cardapio cardapio;
public CarrinhoDeCompras(){
this.itens = new ArrayList();
this.cardapio = new Cardapio();
}
public List<ItemDoPedido>getItens(){
return itens;
}
public void adicionarIten(long codigo){ // recebe o código - ok entendi
for(ItemDoPedido itemDoPedido:itens){ // percorre o arraylist "itens" e armazena o objeto da posição na var itemDoPedido - ok entendi
if(itemDoPedido.getCodigo() == codigo){ // testa se o codigo do objeto na posição é igual ao codigo recebido como parametro - ok
itemDoPedido.incrementarQuantidade(); // incrementa a quant desse objeto via metodo incrementaQuantidade() - ok
return; // se encontrou sai do loop
}
} // abaixo vem minha duvida - se ele ja aumentou a quant no codigo acima e o objeto ja se encontrava na arraylist
ItemDoPedido item = new ItemDoPedido(cardapio.getPizza(codigo)); // por que aqui ele cria novo objeto
itens.add(item); // e aqui adiciona esse novo objeto ao arraylist
} // se no loop ele nao encontrasse um objeto com o codigo dado tudo bem ele adicionar ao arraylist no codigo após o loop. mas se no loop ele acha e adiciona, entao pra que criar outro e adicionar, logo que sai do loop?
public double getTotal(){
double total = 0;
for(ItemDoPedido itemDoPedido : itens){
total+=itemDoPedido.getTotal();
}
return total;
}
}