Sono un fan della/fare (Trier/agente o) modello tentativo, che è meglio implementato in C# utilizzando out
parametri, ad esempio:Prova/fare implementazione pattern in Java
DateTime date;
if (DateTime.TryParse("2012-06-18", out date))
{
//Do something with date
}
Sono attualmente lavorando su un progetto Java 1.5, per il quale sto attuazione del try/fare modello utilizzando una nuova classe chiamata TryResult che viene restituito da tutti i metodi che implementano il try/fare modello:
public class TryResult<ResultType> {
private boolean mSuccess = false;
private ResultType mResult = null;
public TryResult(boolean success, ResultType result) {
super();
this.mSuccess = success;
this.mResult = result;
}
public boolean isSuccess() {
return mSuccess;
}
public ResultType getResult() {
return mResult;
}
}
Questo funziona bene , ma eseguirò il porting di questo codice su una piattaforma diversa che utilizza J2ME e pertanto i generici non sono " t disponibile.
mie opzioni correnti sono per rimuovere i farmaci generici dalla classe TryResult
sopra e usando pianura vecchio Object
e la colata, o fare una nuova classe per i tipi che finirà usando (per esempio StringTryResult
).
Esiste un modo migliore per implementare questo modello su J2ME/Java 1.3?
Con oggetto e fusione. –
@lukas Grazie per il tuo commento. Immagino che non fosse chiaro, ma è quello che intendevo con "rimuovere i generici". Spero che ci sia una soluzione migliore però. –