gpt4 book ai didi

kotlin - 如何在应用方法时将列表映射到集合(Java 到 Kotlin 代码转换)?

转载 作者:行者123 更新时间:2023-12-02 13:07:53 27 4
gpt4 key购买 nike

我在 Java 中有这个代码片段(这是一个 MCVE;实际代码更复杂,但有完全相同的问题):

enum StatusEnum { A, B, C; }

[...]

final static Set<String> names = Arrays.asList(StatusEnum.values())
.stream().map(StatusEnum::name).collect(Collectors.toSet());

IntelliJ 给了我以下到 Kotlin 的自动转换:
    internal val names = Arrays.asList(*StatusEnum.values())
.stream().map<String>(Function<StatusEnum, String> { it.name })
.collect<Set<String>, Any>(Collectors.toSet())

不幸的是,这有编译错误:
  • 接口(interface)函数没有构造函数
  • 类型推断失败。预期类型不匹配:推断类型是 Collector!>!但是收藏家!>!预计
  • Unresolved reference :它

  • 这是我第一次尝试将一些代码转换为 Kotlin。我已经查看了 Functions and Lambdas section of the documentation .仍然不清楚这里发生了什么或如何解决它。

    最佳答案

    使用 Kotlin 方法而不是 Java 流:

    val names = StatusEnum.values()
    .map { it.name }
    .toSet()

    关于kotlin - 如何在应用方法时将列表映射到集合(Java 到 Kotlin 代码转换)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57946689/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com