Ho una funzione che restituisce un valore int
per una determinata chiave (da HashMap<String, Integer>
). Se la chiave non esiste, voglio restituire qualcosa che il chiamante può verificare. Sembra che, più comunemente, questo sarebbe un "restituisce -1 se la chiave non esiste" tipo di cosa. Tuttavia, non posso prenotare -1 per questo scopo nel mio caso, perché i numeri negativi sono valori possibili per le chiavi che esistono .Restituisce "null" sulla funzione di tipo ritorno primitivo?
Le uniche altre opzioni che sono stati in grado di elaborare sono i seguenti:
- Cambia il tipo di ritorno alla
Integer
classe wrapper e verificare la presenza dinull
- ritorno qualcosa di molto improbabile, come ad esempio
Integer.MIN_VALUE
- Creare una funzione aggiuntiva che deve essere sempre chiamata prima
- Passare a
float
e utilizzareNaN
invece
Sto scrivendo questo in Java, ma le persone provenienti da ambienti linguistici simili sono invitati a postare. Grazie!
# 4 è interessante . Come controlli NaN? NaN! = NaN è vero. –
Float.isNaN (float);) IMHO float non è quasi mai una buona idea. prova invece a lungo o doppio. –