我正在尝试为我的自定义类构建TypeConverter。
需要TypeConverter的类是这样:
class Optional<out T>(val value: T? = null) {
companion object {
fun <T> of(value: T?): Optional<T> {
return Optional(value)
}
fun <T> empty(): Optional<T> {
return Optional()
}
}
fun hasValue(): Boolean {
return value != null
}
}
这是我的DAO方法
@Query("SELECT * FROM item WHERE id = :id")
fun get(id: Long): Optional<ItemData>
这是我当前的TypeConverter
object OptionalConverter {
@TypeConverter
fun <T> fromOptional(optional: Optional<T>): T? {
return if (!optional.hasValue()) null else optional.value
}
@TypeConverter
fun <T> toOptional(value: T): Optional<T> {
return Optional(value)
}
}
构建时出现以下错误
错误:不确定如何将游标转换为此方法的返回类型
当然问题是TypeConverter。这样可以并为我的Optional类使用TypeConverter吗?