Sto studiando le asserzioni ma ho un dubbio su questo frammento di codice:
In questo caso sono state utilizzate una pre-condizione e una post-condizione che permettono di verificare se la lunghezza dell'array rimane quella iniziale.codice:public class PortaMonete { private static final int DIMENSIONE = 10; private final Moneta monete [] = new Moneta [DIMENSIONE]; public PortaMonete(int... valori) { assert monete.length==DIMENSIONE; try { int numeroMonete = valori.length; for(int i=0; i<numeroMonete; i++) { if (i>=10) { throw new PortaMonetePienoException(); } monete[i] = new Moneta(valori[i]); } } catch(PortaMonetePienoException exc) { System.out.println("problema: " + exc.getMessage() + "\n"); } catch(NullPointerException exc) { System.out.println("Portamonete creato vuoto"); } System.out.println("\n"); assert monete.length==DIMENSIONE; } ... }
Io allora mi chiedo, che senso ha utilizzare queste due asserzioni dal momento in cui sia l'array che DIMENSIONE sono dichiarati final (quindi non potrò avere un metodo set)?