使用数据类泛型类型的kotlin

您好,我已经通过kotlin文件,并没有发现任何东西。 我想要做的是有一个通用的thar必须是一个数据类,类似

data class MyData(val pop1:Long,val pop2:String,...) fun class MyGenericClass<T : isDataClass>(o : T){ // This is the important part fun useCopy(value : Long) = t.copy(pop1 = value) } 

我真正需要实现的是能够以通用的方式使用数据类的复制功能(pop1将永远是我的数据类的成员)

提前致谢

你应该考虑使用一个接口来解决这个问题。 只需委派到实施中的数据类copy

  data class MyData(val pop1: Long, val pop2: String) : Pop1Data { override fun copy(pop1: Long) { copy(pop1 = pop) } } interface Pop1Data { fun copy(pop1: Long) } class MyGenericClass<T : Pop1Data>(private val o: T) { // This is the important part fun useCopy(value: Long) = o.copy(value) }