如何在应用方法(Java 到 Kotlin 代码转换)时将 List 映射到 Set?

How to map a List to a Set while applying a method(Java to Kotlin code conversion)?

我在 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())

不幸的是,这有编译错误:

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

使用 Kotlin 方法代替 Java 流:

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