我想添加两个扩展函数来ResultSet
获取一个值作为LocalDate
.
fun ResultSet.getLocalDate(colName: String) = getDate(colName)?.toLocalDate()
fun ResultSet.getLocalDate(colIndex: Int) = getDate(colIndex)?.toLocalDate()
问题是getDate()
返回 a Date!
,显然如果没有?.
之前的调用,我会得到一个 null 错误toLocalDate()
。但是任何使用这个扩展的人都必须使用结果作为 aLocalDate?
而不是 a LocalDate!
。
为了一致性起见,有什么方法可以维护平台类型?并让扩展函数的用户决定是否允许为空?还是我错误地将其视为不便而不是功能?