android - 使用 WHEN 时如何避免键入预期错误?
问题描述
我正在尝试在 Int 和 Priority 之间编写类型转换器。它是一个房间数据库。
class PriorityConverter {
companion object {
@TypeConverter
@JvmStatic
fun intToPriority(number: Int?): Priority? = when (number) {
is 1 -> Priority.Low
is 2 -> Priority.Medium
is 3 -> Priority.High
else -> Priority.Low
}
}
}
问题是我收到以下错误。
预期类型
可能是什么问题?
解决方案
is
用于类型比较。对于值比较,只需使用值:
class PriorityConverter {
companion object {
@TypeConverter
@JvmStatic
fun intToPriority(number: Int?): Priority? = when (number) {
1 -> Priority.Low
2 -> Priority.Medium
3 -> Priority.High
else -> Priority.Low
}
}
}
推荐阅读
- regex - 多个复杂的 .htaccess RewriteRules
- angular - 如何在 msal:handleRedirectStart 上检索有效负载?
- javascript - Three.js - 使用 box3 缩放和平移对象
- spring-boot - Spring Boot @Query 注释在别名上抛出意外的令牌错误
- spring-boot - Springfox swagger - 内容类型 multipart/form-data
- java - Hibernate GenerationType.IDENTITY vs GenerationType.SEQUENCE
- python - 使用表格字段优化计算并处理可能的 None 值
- swift - 父类中的自属性不起作用
- python - Nevergrad 包中的建议值
- refactoring - Vue3 组合 API 重构计算的收藏夹食谱