【发布时间】:2017-06-01 19:50:39
【问题描述】:
我不完全确定这是可能的,我绝对不知道要搜索什么或如何简明地解释它,但这似乎是一个 kotlin-y 的事情,如果它是我不会感到惊讶可能。
我想用listOf() 实例化一个列表,但不是为列表提供元素,而是提供一些生成列表元素的代码。
例如,使用 ResultSet:(这不是有效代码)
val list: List<Int> = listOf(
while(resultSet.next()){
return resultSet.getInt(1)
}
)
这样的事情可能吗?
【问题讨论】:
-
如果您想要将
ResultSet映射到Iterable或List的通用解决方案,有多种方法可以在其上定义扩展函数。否则,由于ResultSet没有扩展这些在 Kotlin 中易于使用的接口,如果您只需要这样做一次,那么只需迭代集合并将每个元素添加到可变列表的简单解决方案可能就是最好的一个。 -
@zsmb13 是的,我添加了一个扩展函数并按照您在这种情况下的建议实现了它,但我的问题更多是出于这个特定用例的好奇,而不是专门针对 ResultSets
标签: kotlin jdbc sequence resultset