如何避免在使用WHEN时键入期望的错误?

问题描述 投票:0回答:1

我正在尝试在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
        }
    }
}

问题是我遇到以下错误。

预期类型

可能是什么问题?

android kotlin type-conversion android-room converters
1个回答
3
投票

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
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.