提问者:小点点

静态编程语言数据类,将一个数据类的字段值复制到具有相同字段的另一个数据类


嗨,我有一个数据类Books,其中包含一些字段,如id,name,price等。我有另一个数据类LocalBooks,其中包含完全相同的字段,如classBooks。我想将Books数据类字段的所有值复制到LocalBooks的字段中。我尝试了这种方式。当你只有几个字段时,这很好,但是当你有更多超过20个或更大的字段时,遵循这种方法很耗时。我想知道kotlin中是否有任何方法可以帮助实现这一目的。

data class Books(val name: String, val price: Int) : Serializable
data class LocalBooks(val name: String, val price: Int) : Serializable
val books = Books("Book1", 22)
val localBooks = LocalBooks(books.name, books.price)

共1个答案

匿名用户

复合重用原则解决方案如何:

data class Book(val name: String, val price: Int)
data class LocalBook(val book: Book, val localInfo: String)
val book = Book("foo", 1)
val localBook = LocalBook(book.copy(), "bar")