在 Android Studio 中的 Koltin Class 中生成 Getters 和 Setters

Generate Getters and Setters in a Koltin Class in Android Studio

我正在尝试在我的 Kotlin 模型中生成 Getters 和 Setters class 而无需手动编写代码,但选项未显示在 Android Studio 的“生成”菜单中。

我的模型Class (Kotlin)

import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName

public class EventsRoadSummaryAPINodeModel {

    @SerializedName("road_name")
    @Expose
    var road_name: String? = null

    @SerializedName("locality")
    @Expose
    var locality: String? = null

    @SerializedName("postcode")
    @Expose
    var postcode: String? = null

    @SerializedName("local_government_area")
    @Expose
    var local_government_area: String? = null

    @SerializedName("district")
    @Expose
    var district: String? = null
}

请问如何在 Kotlin 中生成 getter 和 setter class?

好吧,穷人的解决方案是将下面的 Kotlin 代码粘贴到 java 文件中,然后将变量重新格式化为 java 代码。然后在Generate菜单中出现生成Getters Setters的选项,在里面可以处理生成Getters Setters

Temp Java 用于生成 Getters Setters 的文件

public class EventsRoadSummaryAPINodeModel {

  @SerializedName("road_name")
  @Expose
  String road_name;

  @SerializedName("locality")
  @Expose
  String  locality;

  @SerializedName("postcode")
  @Expose
  String  postcode;

  @SerializedName("local_government_area")
  @Expose
  String  local_government_area;

  @SerializedName("district")
  @Expose
  String  district;

}

然后我将生成的 Getters Setters 粘贴到我的原始 Kotlin class 文件中,并让 android studio 将粘贴的代码重新格式化为 Kotlin 格式。

根据 Kotlin Properties and Fields documentation,每个可变的(即 var)属性 都有一个自动为它创建的 getter 和 setter。

因此没有理由为 Kotlin 代码自动生成 getters 和 setters。

例如,如果您有需要专门放在生成的 getter 上的注释,您可以使用 @get:Expose 语法。

您可以使用“data class”。在数据 class 中,您不需要制作 Getter-Setter 方法。数据class自动为您创建

Kotlin 文档link

检查 Google 相同的代码实验室示例 link