intellij-idea - 是否可以将模板添加到数据类的 getter/setter 中?

标签 intellij-idea kotlin

例如,我想以这种方式更改所有 setter :

this.a = StringUtils.trim(a); 

如果是java bean,我可以通过修改ide的代码生成模板来实现。但是 Intellij 似乎不支持为 kotlin 数据类自动添加 getter/setter。

有没有办法做到这一点?

最佳答案

从 Kotlin 1.1 开始,没有办法做到这一点。

Kotlin data class ,在大多数情况下,是一个“除了保存数据什么都不做”的类。

我认为最接近的方法是在类初始化时验证数据并将数据类属性设置为只读值。例如:

data class Data(val a: String) {
    init {
        require(a == a.trim())
    }
}

以下不会抛出异常:

val a = Data("ab")
val b = a.copy(a = "abc")

虽然以下将:

val c = a.copy(a = "abc ")

关于intellij-idea - 是否可以将模板添加到数据类的 getter/setter 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44297260/

相关文章:

spring - IntelliJ 需要将 tomcat/conf 目录复制到项目目录

java - Robot 在运行时无法找到 Robocode 库

javascript - Kotlinx-html ref 事件

java - Kotlin Random和Java Random之间的分布差异

ssl - 无需证书验证即可进行 httpS 连接的 kotlin 库(如 curl --insecure)

kotlin - 是否有Corutines的上下文可以创建新线程,而该线程最多可以达到ThreadPoolExecutor之类的限制?

grails - Intellij 不显示常规方法的自动完成

intellij-idea - IntelliJ 不保存 cookie

syntax - 有没有办法在 Kotlin 的数据类中嵌套枚举?

android-studio - Android Studio/IntelliJ IDEA 编辑器中的中心代码