我有一个对象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)