android - Kotlin - 将对象转换为 Parcelable
问题描述
嗨,我有一个普通的数据类
data class Message(
val code: Int,
val message: String?
)
和它的@Parcelize 版本
@Parcelize
data class MessagePresentation(
val code: Int,
val message: String?
): Parcelable
现在如何编写一个转换器,以便我可以将类 1 映射到 1?
解决方案
您不需要为转换创建一些特殊的逻辑。您唯一应该做的就是MessagePresentation
使用Message
对象的字段创建对象。
...
val message = Message(code, message)
val messagePresentation = MessagePresentation(message.code, message.message)
...
例如,您可以使用arg在MessagePresentation
类中指定其他构造函数。Message
您也可以像这样创建扩展功能
fun Message.toPresentation(): MessagePresentation =
MessagePresentation(
code = code
message = message
)
推荐阅读
- json - 从 Json 中的数组中提取值
- python - 如何获取与 DataFrame 中最后三个唯一值匹配的最后 n 行?
- python-3.x - 如何执行 GridSearchCV 但使用多个验证集进行交叉验证?
- docker - Docker 用户作为 Azure 应用服务的 root
- python - jupyter notebook 中 python 的奇怪行为;这是一个错误还是我应该接受它?
- python - pywinauto 不检测子窗口
- react-native -
不适用于 iOS - React Native (Expo) - python - Kafka Consumer 参数用于显示基于分区的键
- c# - iTextsharp/itext7 - 悬停在矩形上时无法弹出注释
- json - 在 go 中使用通用类型字段解组不同的 JSON 消息