账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Kotlin 使用moshi 如何 将 Any 转换为指定类型
    67
    0

    ResponseResult.kt

    import com.squareup.moshi.Json
    data class ResponseResult(
        @Json(name = "body") var body: Any?,
        @Json(name = "status") var status: Int = 0
    )
    

    TestResult.kt

    import com.squareup.moshi.Json
    data class TestResult(
        @Json(name = "data") var data: List<Int> = listOf(),
        @Json(name = "page") var page: Int = 1,
        @Json(name = "size") var size: Int = 20
    )
    
    
    

    val resultBody = result.body // 如何将Any 转换成 TestResult?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 共 0 条
    • 邋遢仙人 普通会员 1楼

      在Kotlin中,你可以使用Any类型来表示任何类型的值。如果你有一个值,你可以使用anyOf方法将其转换为指定的类型。

      以下是一个例子:

      kotlin val any = 10 // 这是一个任何类型的值 val intValue = anyOf(1, 2, 3) // 我们可以使用`anyOf`方法将这个任何类型的值转换为int类型

      在这个例子中,anyOf方法接收一个any类型和一个val类型的参数。如果any类型中有任何一个值,那么这个any类型的所有值都会被传递给第二个参数。如果没有值,那么第二个参数会被设置为null。

      注意,anyOf方法默认情况下会尝试将任何类型的值转换为int类型。如果你想让你的函数更健壮,你可以通过设置一个默认值来控制转换。例如:

      kotlin val any = 10 // 这是一个任何类型的值 val intValue = anyOf(1, 2, 3) // 我们可以使用`anyOf`方法将这个任何类型的值转换为int类型,如果这个任何类型的值没有任何值,那么intValue会被设置为0

      在这个例子中,如果anyOf方法接收的任何类型的值都没有值,那么intValue会被设置为0。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部