У меня есть функция, которая возвращает значение int
для заданной клавиши (от HashMap<String, Integer>
). Если ключ не существует, я хочу вернуть то, что может проверить вызывающий. Кажется, что чаще всего это будет «возвращает -1, если ключ не существует« вид вещей. Тем не менее, я не могу зарезервировать -1 для этой цели в моем случае, потому что отрицательные числа являются допустимыми значениями для ключей, которые существуют do.Возвращает «null» на функцию примитивного возврата типа?
Единственные другие варианты я смог придумать, являются следующие:
- Изменить тип возврата к
Integer
класс обертку и проверитьnull
- возвращенной что-то очень маловероятно, такой как
Integer.MIN_VALUE
- Сделать дополнительную функцию
boolean keyExists(String key)
, которую всегда следует называть первым - Переключить на
float
и использоватьNaN
вместо
Я пишу это на Java, но люди из похожих языков могут отправлять сообщения. Благодаря!
# 4 интересно , Как вы проверяете NaN? NaN! = NaN истинно. –
Float.isNaN (float);) IMHO float почти никогда не является хорошей идеей. попробуйте длинный или двойной вместо этого. –