Я хочу добавить две функции расширения к ResultSet
, которые получают значение как LocalDate
.
fun ResultSet.getLocalDate(colName: String) = getDate(colName)?.toLocalDate()
fun ResultSet.getLocalDate(colIndex: Int) = getDate(colIndex)?.toLocalDate()
Проблема в том, что getDate()
возвращает Date!
, и, очевидно, я мог бы получить нулевую ошибку без вызова ?.
перед toLocalDate()
. Но тогда любой, кто использует это расширение, должен использовать результат как LocalDate?
, а не LocalDate!
.
Есть ли способ сохранить тип платформы для согласованности? И пусть пользователь функции расширения решает, разрешено ли ей быть обнуляемым или нет? Или я неправильно смотрю на это как на неудобство, а не на особенность?