我想要一个执行此操作的数据类:
data class VariantModal (
val variantId: String,
val variantName: String,
val variantUnit: List<String> || variantUnitOptions
val productId: String,
val variantQuantity: Int
)
Run Code Online (Sandbox Code Playgroud)
variantUnit 可以是字符串列表或枚举值,
enum class variantUnitOptions {
KG,
BUNDLE,
BOX,
PIECE
}
Run Code Online (Sandbox Code Playgroud)
由于我们不能像 || 一样使用 OR,所以我尝试使用密封类以这种方式包含字符串或枚举列表,
sealed class VariantUnit<T>(val value: T) {
class ListOfUnits(value: List<String>) : VariantUnit< List<String>>(value)
class SelectedUnit(value: variantUnitOptions) : VariantUnit<variantUnitOptions (value)
}
data class VariantModal (
val variantId: String,
val variantName: String,
val variantUnit: VariantUnit<>, //error here
val productId: String,
val variantQuantity: Int
)
Run Code Online (Sandbox Code Playgroud)
但通过这种方式,我收到了 …
kotlin ×1