使用Kotlin合成属性

kuhbmx9i  于 2022-11-01  发布在  Kotlin
关注(0)|答案(2)|浏览(176)

我正在Kotlin中尝试Vert.x。我有以下代码:

val deploymentOptions = DeploymentOptions()
deploymentOptions.setConfig(JsonObject().put("http.port", 8081))

一切正常。然而,IntelliJ IDEA在第二行报告说,我应该使用“Kotlin合成属性”。
在这种情况下,有什么办法吗?另外,我用的是Maven。

93ze6v8z

93ze6v8z1#

在那一行上按alt+enter。IDEA应该会给你建议一个解决方案。选一个。
可能性:
deploymentOptions.config = JsonObject().put("http.port", 8081)

vwoqyblh

vwoqyblh2#

在Java interop的Kotlin文档中,它讨论了getter和setter以及它们与属性的关系:
遵循Java getter和setter约定的方法(名称以get开头的无参数方法和名称以set开头的单参数方法)在Kotlin中表示为属性。
它提供了一个例子:

import java.util.Calendar

fun calendarDemo() {
    val calendar = Calendar.getInstance()
    if (calendar.firstDayOfWeek == Calendar.SUNDAY) {  // call getFirstDayOfWeek()
        calendar.firstDayOfWeek = Calendar.MONDAY       // call setFirstDayOfWeek()
    }
}

您在IDE中收到的提示告诉您,使用属性语法比直接调用getter或setter更好(符合习惯)。因此,不要使用:

deploymentOptions.setConfig(...)

您可以用途:

deploymentOptions.config = ...

相关问题