Tag: 枚举

Kotlin – 使用枚举来检索一个字符

对于面向对象的概念而言,Kotlin中的枚举对我来说有些困惑。 我的穴居人的解释是,枚举是用来存储不变的变量。 我正在制作一个简单的Tic-Tac-Toe应用程序,只需要将值“X”,“Y”和“ – ”全部保存为字符。 我的困惑在哪里? 有没有更好的方法来从“库”中检索一组特定的字符? 这是我目前的代码假设: enum class markers(char: Char){ X('X'), O('O'), EMPTY('-') } //To access the enums, thought it would be something like this fun printX(){ println(markers.X) }

Android性能的Kotlin枚举类

在Java中,我们被告知要严格避免在Android上使用枚举,因为它占用了两倍的内存。 这是否也适用于Kotlin中的enum class ? 将Kotlin enum编译成Java enum ?

在Kotlin中枚举注释

我有一个由Gson序列化/反序列化的枚举: enum class PacketType { NONE; [SerializedName("request")] REQUEST; [SerializedName("response")] RESPONSE; [SerializedName("event")] EVENT; } 不幸的是,我注意到Gson忽略了SerializedName注解,并使用枚举值的大写名称。 我决定找出为什么序列化不能按预期工作,并发现Kotlin删除枚举值的所有注释。 我怎样才能使这些注释出现在生成的字节码?

Kotlin Proguard规则枚举?

您好,有人可以请告诉我,如果有任何具体的规则需要科姆林类与枚举? 简单的例子 data class Passenger( var type: Type?, var id: Int, var age: Int ) { companion object { const val AGE_NOT_SET = -1 } enum class Type { ADULT, CHILD, INFANT } constructor() : this(null, 0, 0) } 如果将对象初始化为Passenger(CHILD, 123456, 4)转换为Json,然后再解析回POJO,则会导致Passenger(null, 0,0) 我有 -keepclassmembers,allowoptimization enum * { public static **[] values(); public static ** […]

通过枚举类属性Kotlin进行过滤

如何过滤kotlin中的枚举类? (只是学习)在下面的代码中,文件前面定义的枚举类是PayStatus {PAID,UNPAID}。 fun nextRentDate(): LocalDate? { return rentPaymentSchedule. filter { it.value.paymentStatus is PayStatus.UNPAID}. minBy { it.value.date.toEpochDay() }?.value?.date } 我得到的错误:Kotlin:不兼容的类型:PayStatus.UNPAID和枚举

Enum.valueOf在Kotlin

有没有办法像Kotlin这样的工作,没有反思呢? inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: String?): T? { return java.lang.Enum.valueOf(T::class.java, type) } 下面的例子不能编译,因为: inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: kotlin.String?): T?绑定T的类型参数inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: kotlin.String?): T? 不满意:推断类型TestEnum? 不是kotlin.Enum<TestEnum?>的子类型 enum class TestEnum fun main() { val value: TestEnum? = safeValueOf("test") }

Kotlin RuntimeInvisibleParameterAnnotations属性:MyType(String)

我在Kotlin的参数枚举中遇到了一个问题,在与Dagger2集成之后,我在编译时得到了RuntimeInvisibleParameterAnnotaions属性:MyType(String)异常。 任何想法如何解决? 非参数枚举就像一个魅力 MyType的: enum class MyType constructor(val value: String) { ABC("123"), DEF("456"); } kotlin 1.0.2 with kapt generateStubs = true

Kotlin反向查找有效的枚举?

我试图找到在Kotlin的枚举上进行“反向查找”的最佳方法。 Effective Java中的一个例子是你在枚举中引入了一个静态映射来处理反向查找。 通过一个简单的枚举将其移交给Kotlin,将使我看起来像这样的代码: enum class Type(val value: Int) { A(1), B(2), C(3); companion object { val map: MutableMap<Int, Type> = HashMap() init { for (i in Type.values()) { map[i.value] = i } } fun fromInt(type: Int?): Type? { return map[type] } } } 我的问题是,这是做这件事的最好方法,还是有更好的办法? 如果我有几个枚举遵循类似的模式呢? Kotlin有没有办法让这个代码在枚举中更加可重用?