Ho una classe, chiamiamola Calculator
, con un metodo come questo:
public double[] performCalculation(double[] someInData)
Questo metodo può generare un numero di avvisi non fatali (rappresentati come una serie di stringhe con nomi di avvertenza, come InDataOutOfBounds
). Qual è il modo più elegante e javaque per restituire questi avvisi al chiamante? Vedo alcune possibilità, nessuna delle quali mi piace particolarmente:
- Restituisce un'istanza di una classe personalizzata contenente sia il risultato del calcolo sia l'array di warings.
- Consenti a
performCalculation
di accettare un argomento aggiuntivoString[] warnings
che viene compilato con gli avvertimenti. Questo potrebbe essere un no go, in quanto sembra che non posso ridimensionare l'array passato, e non c'è modo di sapere in anticipo quanti avvertimenti ci saranno. - Mantieni
performCalculation
così com'è, ma aggiungi un metodoString[] getWarnings()
aCalculator
, restituendo gli avvertimenti dall'ultimo calcolo.
EDIT: sono a conoscenza di questa domanda. Direi che questo non è un duplicato, poiché la risposta più alta a questa domanda dice che la risposta dipende dalla situazione. Questo è un caso più specifico, che può ottenere una risposta più specifica.