自Kotlin 1.1 起,可以使用 enumValues<T>() 和enumValueOf<T>() 函数以泛型的方式访问枚举类中的常量。 1.4.1、访问枚举变量属性 例: fun main(args: Array<String>) { println("name = " + Color.RED.name + "\tordinal = " + Color.RED.ordinal) println("name = " + Color.WHITE.name + "...
enum classEnumDemo91(val rgb: Int) {RED(0xff0000),BLUE(0x0011ff),BLACK(0x000000),WHITE(0xffffff), } 枚举的使用 EnumClass.valueOf(value: String): 由枚举值的名称获取枚举实例;未匹配成功,会抛出IllegalArgumentException EnumClass.values(): 以数组的形式,获取所有的枚举实例 funmain(args:Array<St...
enumclassEnumDemo91(valrgb:Int){RED(0xff0000),BLUE(0x0011ff),BLACK(0x000000),WHITE(0xffffff),} 枚举的使用 EnumClass.valueOf(value: String): 由枚举值的名称获取枚举实例;未匹配成功,会抛出IllegalArgumentException EnumClass.values(): 以数组的形式,获取所有的枚举实例 funmain(args:Array<String>){...
注意:kotlin 的enum class假如value为NSString,如果两个的枚举值的value相等,不是同一个枚举值,因为相同的枚举里边有name和origin,枚举里边不能取相同的名字 1.1.2、枚举常量 枚举类中的每一个枚举常量都是一个对象,并且他们之间用逗号分隔。 /** * 例:关于一个网络请求结果的枚举类 */enumclassState{/* NORM...
简单的举个栗子,如下:enumclassColor{RED,BLACK,BLUE,GREEN,WHITE}varcolor:Color=Color.BLUE...
自Kotlin 1.1 起,可以使用enumValues<T>()和enumValueOf<T>()函数以泛型的方式访问枚举类中的常量 : enum class RGB { RED, GREEN, BLUE } inline fun <reified T : Enum<T>> printAllValues() { print(enumValues<T>().joinToString { it.name }) ...
很多时候在使用enum的时候需要根据原始值rawValue来得到具体的enum的一个类型。在kotlin里面如何使用呢? 例如: enum class Foo(val rawValue: Int) { FIRST(1), SECOND(2); } 如果给数值2如何得到Foo.SECOND? 做法就是添加一个companion object. enum class Foo(val rawValue: Int) { ...
EnumClass.valueOf(value: String): EnumClass EnumClass.values(): Array<EnumClass> 1. 2. 如果指定的名称与类中定义的任何枚举常量均不匹配,valueOf() 方法将抛出 IllegalArgumentException 异常。 自Kotlin 1.1 起,可以使用 enumValues<T>() 与 enumValueOf<T>() 函数以泛型的方式访问枚 举类中的常量 ...
EnumClass.valueOf(value: String): EnumClassEnumClass.values(): Array<EnumClass> 1. Sealed Class 枚举是Java的同类产物, 而sealed class则是kotlin推出的新产品. (C#中也有:sealed class in C sharp[1]) 首先定义一个sealed class, 它是抽象的, 是用来被继承的, 但是它又限制了继承的自由, 它的子类就...
与Java 中一样, Kotlin 中的枚举类拥有编译器添加的方法, 可以列出枚举类中定义的所有枚举常数值, 可以通过枚举常数值的名称字符串得到对应的枚举常数值. 这些方法的签名如下(这里假设枚举类名称为EnumClass): EnumClass.valueOf(value:String):EnumClass ...