我想添加两个扩展函数来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!。
为了一致性起见,有什么方法可以维护平台类型?并让扩展函数的用户决定是否允许为空?还是我错误地将其视为不便而不是功能?