【发布时间】:2018-08-30 06:20:44
【问题描述】:
我在 kotlin 中有一个类,它是一个枚举类,如下所示
enum class Status {
@SerializedName("open")
OPEN,
@SerializedName("close")
CLOSE,
UNKNOWN
}
我有另一个使用状态枚举类称为票证的类
class Order(
var id: String,
var status: Status = Status.UNKNOWN,
}
当 GSON 映射接收到的值时,我遇到了一个异常,因为 status 字段现在包含一个新值 in_progress。由于此状态未在 Status 类中声明,因此发生了异常。
如何避免异常以确保如果在 GSON 中设置了新状态但未在 Status 类中定义,我得到状态 UNKNOWN?
在我没有匹配的情况下如何返回默认值 UNKNOWN 有什么想法吗?
谢谢
【问题讨论】:
-
我对 Kotlin 不太熟悉,但您可以尝试为枚举编写自定义反序列化器。 futurestud.io/tutorials/…