我有一个对象User定义如下

class User(){
    var id: Int? = null
    var name: String? = null}

由于某些原因,我必须创建具有相同参数的新对象User,并且必须将数据从旧类型复制到新类型。
class UserNew(){
    var id: Int? = null
    var name: String? = null}

我一直在寻找从旧类型转换为新类型的最简单方法。我只想做
var user = User()
var userNew = user as UserNew

但显然,我正在获取This cast can never succeed。如果我有一个带有很多参数的UserNew对象,则创建一个新的User对象并设置每个参数是不可行的。有什么建议么?

最佳答案

为此,您可以简单地使用Gson并避免样板代码:

var user = User(....)

val json = Gson().toJson(user)

val userNew:UserNew =Gson().fromJson(json, UserNew::class.java)

10-07 14:41