I have the ValueTotal attribute this value should be represented by the sum of all items in the Item class that are in the items list, I am trying to sum all items in the list that are BigDecimal, but when I execute the value is 0, that is, it is not calculating, I would understand this.
package br.com.improving.carrinho;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CarrinhoCompras {
private Collection<Item> items = new ArrayList<Item>();
private BigDecimal valorTotal = BigDecimal.ZERO;
public CarrinhoCompras(Item item) {
items = new ArrayList<Item>();
items.add(item);
}
public CarrinhoCompras() {
}
public void adicionarItem(Produto produto, BigDecimal valorUnitario, int quantidade) {
Item item = new Item(produto, valorUnitario, quantidade);
if (item != null) {
items.add(item);
}
}
public void adicionarItem(Item item) {
if (item != null) {
items.add(item);
}
}
public boolean removerItem(Produto produto) {
Item item = new Item(produto );
items.remove(item);
return true;
/*if(items.stream().anyMatch()
if (produto != null) {
this.items.remove(produto);
*/
}
public boolean removerItem(int posicaoItem) {
return true;
}
public BigDecimal getValorTotal() {
items.forEach(item -> this.valorTotal.add(item.getValorTotal()));
return this.valorTotal;
}
.