Kotlin将&减少字符串数组映射到Map <String,Any!>

用户名

我想创建可从Java访问的Kotlin实用程序,它将字符串列表转换为Map。到目前为止,我已经写了:

class Utils {
    companion object {
        @JvmStatic fun values(item: GSAItem): Map<String, Object> {
            return item.itemDescriptor.propertyNames.map {it -> Map.Entry<String, Any!>(it, item.getPropertyValue(it)) };            }
    }
}

但是我出错了

Error:(16, 74) Kotlin: Unresolved reference: Entry

GSAItem.getPropertyValue是Java方法,该方法将String作为参数并返回Object。之后,我怀疑我需要从Java 8中找到一些等效的collect函数吗?

mfulton26

Map.Entry-stdlib-Kotlin编程语言是一种语言interface,因此它没有构造函数,这就是为什么您遇到错误(也许不是最好的消息)的原因。您可以找到一个实现,自行创建,或者associate改用:

class Utils {
    companion object {
        @JvmStatic fun values(item: GSAItem): Map<String, Any?> {
            return item.itemDescriptor.propertyNames.associate { it to item.getPropertyValue(it) }
        }
    }
}

请注意,您应该使用AnyAny?代替java.lang.Object

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Jackson将JSON字符串数组映射到List <String>

将Map <String,Set <Pathway >>转换为字符串映射到Pathways属性之一的集合

如何从Kotlin中的Map <String,Any?>获取字符串数组?

iBatis映射:将字符串字段映射到List <String>

自动映射器将字符串映射到List <string>

多种类型的json字符串映射到Map [String,Object]

将字典[String:Any]映射到类

Gson将<String,Any>映射到对象

JAX-B将字符串映射到JAXBElement <String>

通过某个键将<Long, List<String>> 映射到字符串 Lambda 列表

使用Automapper将字符串映射到List <string>,反之亦然

类型'Map <string,any>'不是数组类型还是字符串类型?

为什么将Mono <Void>映射到Mono <String>时会收到一个空字符串?

Ruby:将字符串数组映射到数组数组

如何通过map [string] interface {}创建字符串映射?

如何将JSON字符串映射到Kotlin Map

将字符串数组映射到单个数组

将字符串数组映射到特定对象数组

将 PIN 映射到字符串数组和从字符串数组映射

如何在Java中的Spark中将字符串映射到Seq <String>

使用AutoMapper将字符串数组映射到对象

将字典映射到数组到字符串

Python-将字符串映射到布尔数组

如何将字符串数组映射到新的字符串数组?

如何使用 std::map 将字符串和字符对映射到字符串?

Map [String,Any]使用json4s压缩json字符串

将 any[] 转换为 string[] | 将列表(任何)转换为列表(字符串)

字符串不可转换为DictionaryIndex <String,Any>

如何转换Dictionary <String,Any> .Values?转换为字符串数组SWIFT