IntelliJ IDEA能否自动生成Kotlin的componentN方法?
如何在IntelliJ IDEA中自动生成Kotlin解构所需的componentN()方法?
当然有便捷的方法!IntelliJ IDEA(包括同属JetBrains的Android Studio)针对Kotlin的解构声明场景,提供了自动生成componentN()方法的功能,同时还有更省心的替代方案,下面详细说明:
方法一:通过Generate菜单自动生成(适用于普通类)
如果你不想把类改成数据类,可以用IDE的生成功能快速创建componentN()方法:
- 打开你的类文件,将光标放在类的内部代码区域
- 按下快捷键:Windows/Linux用
Alt + Insert,Mac用Cmd + N,调出「Generate」菜单 - 在菜单中选择「Component Functions」选项
- 在弹出的对话框里,勾选你需要生成对应component方法的属性(比如你的
Pair类里的first和second),点击「OK」,IDE就会自动帮你生成带有operator修饰符的component1()、component2()方法
生成后的代码会和你手动写的完全一致:
class Pair<K, V>(val first: K, val second: V) { operator fun component1(): K { return first } operator fun component2(): V { return second } }
方法二:使用Kotlin数据类(更推荐)
其实Kotlin的**数据类(Data Class)**会自动帮你生成所有需要的componentN()方法,同时还会附带equals()、hashCode()、toString()等常用方法,完全不用手动操作。你只需要在类前加上data关键字:
data class Pair<K, V>(val first: K, val second: V)
这样定义后,你直接就能用解构声明:
val (key, value) = Pair("name", "Kotlin")
完全符合Kotlin的约定原则,而且代码更简洁。
内容的提问来源于stack exchange,提问作者CoXier




