Java 如何获取ResultSet字符串数组?
我有一个查询正在命中一个具有数组列的表。在处理记录时,我希望获取数组列的数据,并将其视为字符串数组并获取第一个值。我认为我可以做到以下几点:Java 如何获取ResultSet字符串数组?,java,kotlin,crate,Java,Kotlin,Crate,我有一个查询正在命中一个具有数组列的表。在处理记录时,我希望获取数组列的数据,并将其视为字符串数组并获取第一个值。我认为我可以做到以下几点: while (resultSet.next()) { val clients = resultSet.getArray("clients") println(clients[0]) } 但当我这样做时,我得到了一个错误: 错误:(34,3)Kotlin:未解析的引用。没有以下情况 由于接收器类型不匹配,候选人适用: @InlineOnly
while (resultSet.next()) {
val clients = resultSet.getArray("clients")
println(clients[0])
}
但当我这样做时,我得到了一个错误:
错误:(34,3)Kotlin:未解析的引用。没有以下情况
由于接收器类型不匹配,候选人适用:
@InlineOnly公共运算符内联乐趣映射。获取(键:Int):???在kotlin.collections中定义
@SinceKotlin公共运算符fun MatchGroupCollection.get(名称:
字符串):匹配组?在kotlin.text中定义
getArray
返回类型Array代码>所以我假设我可以通过索引访问值。要访问这个值数组,我必须做什么?实际上,返回一个
这与类型不同
您可以使用,在Kotlin中将其简单地转换为array
:
resultSet.getArray("clients").array
以对象的形式获取实际数组
/任意
您可以将其强制转换为数组
:
这将:
- 如果数组不包含
字符串
s,则结果为null
- 如果数组为空,则导致
null
- 如果数组包含
字符串,则生成第一个字符串
实际上,返回一个
这与类型不同
您可以使用,在Kotlin中将其简单地转换为array
:
resultSet.getArray("clients").array
以对象的形式获取实际数组
/任意
您可以将其强制转换为数组
:
这将:
- 如果数组不包含
字符串
s,则结果为null
- 如果数组为空,则导致
null
- 如果数组包含
字符串,则生成第一个字符串
val firstClient = (resultSet.getArray("clients").array as? Array<out Any?>)
?.filterIsInstance<String>()
?.firstOrNull()