Non mi sento soddisfatto da avoiding null in OOP. Esiste una soluzione alternativa? Non mi piace evitarlo in this way entrambi.Qual è la migliore alternativa a null nella programmazione orientata agli oggetti?
Qual è il modo migliore di gestirlo?
Non mi sento soddisfatto da avoiding null in OOP. Esiste una soluzione alternativa? Non mi piace evitarlo in this way entrambi.Qual è la migliore alternativa a null nella programmazione orientata agli oggetti?
Qual è il modo migliore di gestirlo?
Java 8 ha la nuova Optional
tipo che è quello che penso che stai chiedendo circa
Un oggetto contenitore che può o non può contenere un valore non nullo. Se è presente un valore,
isPresent()
restituirà true eget()
restituirà il valore.
Tieni presente che non è "Serializable". –
@Greg Kopff, che è una soluzione dipendente dalla lingua. In realtà voglio una soluzione dal punto di vista del design. –
Guava ha anche 'Opzionale'. Questo può essere utile se sei ancora bloccato con java 7. – AlexR
Anche se non ti piace, lo Null Object Pattern è uno dei modi migliori per evitare il null. Inoltre, non restituire mai null quando è possibile restituire una lista vuota.
L'esempio più spesso visto del modello di oggetto nullo è la stringa vuota "". Usalo quando devi dire qualcosa ma non vuoi dire nulla:) – CandiedOrange
Hehe, bella spiegazione :-) –
Mi piace aggiungere una proprietà di classe statica di Empty. Questo restituisce un valore specifico per l'oggetto che può essere confrontato con - come stringa.Empty in .NET
non lasciare che le cose siano NULL?!? –
Perché stai cercando di evitare valori nulli? Null non è una brutta cosa. –
considera opzionale (Java 8) – Eran