Kotlin数据类从哪里扩展而来? 我可以扩充它们吗?

我一直在摆弄Kotlin data class并且考虑是否可以增加一些类(例如包含copy功能)来扩充所有data class

有没有可能扩充data class呢?

Kotlin的数据类不能从任何类继承(除了JVM上的Any / java.lang.Object )。 据我所知,没有办法修改所有数据类的全局copy行为。

用于复制,解构等的方法是针对每个数据类别单独生成的。 (请参阅文档 )

你不能改变Kotlin编译器如何为数据类生成字节码,所以你不能改变copy功能的工作方式。 但是,最近一次更新之后,您可以做的是让您的数据类从其他类继承,因此您可以创建一个抽象基类,用于所有数据类,以便为它们提供附加功能。