Non ho capito il problema... così non ti va bene?
codice:
class Lotto {
private String desc;
private int codLotto;
private List<Prodotto> lista;
public Lotto(String desc, int codLotto) {
this.desc = desc;
this.codLotto = codLotto;
this.lista = new ArrayList<Prodotto>(); // Creo una lista vuota
}
}
Oppure potresti mantenere la tua soluzione (lista nulla) e posizionare la sua costruzione al primo inserimento:
codice:
public void addProdotto(Prodotto p) {
if (lista == null) lista = new ArrayList<Prodotto>();
lista.add( p );
}
Ciao.