使用 WHEN 时如何避免类型预期错误?
How to avoid Type expected error while using WHEN?
我正在尝试在 Int 和 Priority 之间编码 type converter。这是一个房间数据库。
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
}
}
}
问题是我收到以下错误。
Type expected
可能是什么问题?
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
}
}
}
我正在尝试在 Int 和 Priority 之间编码 type converter。这是一个房间数据库。
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
}
}
}
问题是我收到以下错误。
Type expected
可能是什么问题?
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
}
}
}