使用Kotlin合成属性

我正在Kotlin试用Vert.x。 我有以下一段代码:

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

一切工作正常。 但是,IntelliJ IDEA在第二行报告我应该使用“Kotlin合成属性”。

任何想法如何在这种情况下做到这一点。 另外,我正在使用Maven。

解:

 deploymentOptions.config = JsonObject().put("http.port", 8081) 

谢谢您的帮助 :)

打ALT +进入该行。 IDEA应该建议你一个解决方案。 选一个。

大概:

deploymentOptions.config = JsonObject().put("http.port", 8081)

在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 = ...