首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin -将枚举的值赋给不带.value的变量

Kotlin是一种现代化的静态类型编程语言,它是一种基于Java虚拟机(JVM)的语言,可以在Android开发中使用。Kotlin提供了许多功能和语法糖,使得开发更加简洁、安全和高效。

在Kotlin中,枚举是一种特殊的数据类型,它允许我们定义一组具名的常量。每个枚举常量都是一个对象,可以有属性和方法。当我们需要将枚举的值赋给不带.value的变量时,可以使用枚举常量的名称来赋值。

以下是一个示例代码:

代码语言:kotlin
复制
enum class Color {
    RED, GREEN, BLUE
}

fun main() {
    val color: Color = Color.RED
    println(color) // 输出:RED
}

在上面的代码中,我们定义了一个名为Color的枚举,它包含了三个常量:RED、GREEN和BLUE。然后,我们将Color.RED赋值给了一个名为color的变量,并打印了该变量的值。

Kotlin的枚举还可以有属性和方法,可以根据具体需求进行扩展。例如,我们可以为Color枚举添加一个getColorCode方法,用于获取颜色的代码:

代码语言:kotlin
复制
enum class Color(val code: String) {
    RED("#FF0000"), GREEN("#00FF00"), BLUE("#0000FF");

    fun getColorCode(): String {
        return code
    }
}

fun main() {
    val color: Color = Color.RED
    println(color.getColorCode()) // 输出:#FF0000
}

在上面的代码中,我们为Color枚举添加了一个名为code的属性,并在每个枚举常量后面用括号指定了对应的值。然后,我们定义了一个getColorCode方法,用于获取颜色的代码。最后,我们将Color.RED赋值给了color变量,并调用了getColorCode方法。

总结一下,Kotlin是一种功能强大的编程语言,它支持枚举类型,并且可以将枚举的值赋给不带.value的变量。通过使用枚举,我们可以更好地组织和管理常量,并在代码中使用它们。对于Kotlin开发者来说,熟悉枚举的概念和用法是非常重要的。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux使用技巧:linux下命令shell变量

很多小伙伴在写shell脚本时候需要把命令输出一些变量,使得脚本在运行过程中能够顺利使用这些变量。...例如:很多时候我们就需要获取当前目录绝对路径,pwd这个命令大家在熟悉不过,可是要把这个命令输出变量就不知道何从下手了。...莫慌,办法还是有的,我们可以把这个命令输出一个叫pwd变量(当然,你也可以随意命名一个变量名称)。...具体操作是这样:pwd=`pwd`,需要注意是这里引号并非通常我们使用单引号,而是左上角ESC下面那个按键,也就是数字键1前面的那个。...在第9行代码中,我们直接输出最近10次登陆详情,这属于是直接使用,在第10行代码中我们使用了变量,实际运行结果与第9行一致。

2.9K30

Kotlin】空安全 ① ( Kotlin 空安全机制 | 变量可空性 | 默认变量不可 | 声明可空类型变量 )

文章目录 一、Kotlin 空安全机制 二、变量可空性 1、默认变量不可 2、声明可空类型变量 一、Kotlin 空安全机制 ---- Java 中空指针问题 : 在 Java 语言...Kotlin 程序 代码健壮性 ; 二、变量可空性 ---- 1、默认变量不可 在 Java 中 , 引用类型变量 默认为 null 空 ; 但是在 Kotlin 中 , 变量默认不可为...: Null can not be a value of a non-null type String 这是因为 var name 变量 默认为非空 , 在 Kotlin 中 不允许 默认变量...赋值一个空 , 除非 将该变量声明为 可空类型 ; 2、声明可空类型变量 声明可空类型变量 : 如果要声明一个 可空类型变量 , 必须 声明该变量具体类型 , 并在该类型后添加 ?...标志 , 具体格式如下 : var 变量名: 变量类型? 代码示例 : 在下面的代码张红 , var name 变量声明为了 String?

1.9K20

从点滴基础探究Kotlin独特魅力

目录 剖析方法结构 函数 变量 字符串模板 注释 自定义访问器 源码布局:目录和包 表示和处理选择:枚举和"when" 迭代事物:"while"和"for"循环 异常 综上(熟悉kotlin,可以直接跳转至综上...枚举并不是值得代表,可以枚举类声明属性和方法 /** * Created by FuKaiqiang on 2018-06-10. */ enum class Color(val r: Int,...fun rgb() = (r * 256 + g) * 256 + b // 枚举类定义一个方法 } 说明: ① 枚举常量在声明时候,必须提供常量属性. ② 这个例子展示了 kotlin...) { // 迭代map,把键和两个变量 println("$letter = $binary") } 06-17 04:06:11.919...在变量名称前加上 前缀 或者 用{ }包围一个表达式,来把注入到字符串中.③ 对象类在kotlin中简洁方式表示.④ kotlin if 是带返回表达式.⑤ when 表达式替代了

2.6K30

Kotlin | 2.Kotlin基础

声明函数、变量、类、枚举以及类型 Kotlin控制结构 智能转换 抛出和处理异常 函数学习 函数和变量 函数 /** * 求最大 * if是表达式而不是语句,表达式有...枚举 1.声明简单枚举类 enum class SimpleColor { RED, ORANGE } 2.声明一个带属性枚举类 enum class Color( // 声明枚举常量属性...Integer.toBinaryString(c.toInt()) binaryReps[c] = binaryString } // 迭代 map ,把键和赋值两个变量...Val关键字和var关键字分别用来声明只读变量和可变变量。 字符串模板帮组你避免繁琐字符串拼接。在变量名称前加上 ? {} 包围一个表达式,来把注入到字符串中。...对象类在Kotlin中以简洁方式表示。 熟悉if现在是带返回表达式。 when表达式类似于Java中switch但功能更强大。

71220

一篇就够——Kotlin快速入门

V7、类型推断和显示类型声明(变量和常量声明) 1、类型推断 在声明一个变量时,我们可以不需要显示声明数据类型,kotlin 会根据你为变量动态推导出其类型。...fun main(args:Array){ var a=10 //声明变量a , int类型10 赋值a, a 只能接受int型数据 a=15 /...var s="字符串" } 2、显示类型声明 格式: var变量名:变量类型= var a:Int=10 3、变量声明注意事项 如果声明变量时就初值,可以不写类型,此时,类型推导生效 如果声明变量时没有初值...//二进制0b0011 转换为10进制,并复制a } Byte、Int、Long 可以通过上述方式获取最大最小 String 没有最大最小,所以没有上述方法 V9、Kotlin函数入门 main...else -> 表达式 } 带有返回When表达式: var result=when(变量){ 分支A -> 表达式(要有返回,最终将result) else -> 表达式(

1.5K20

KotlinKotlin基础

函数和变量 函数 /** * 求最大 * if是表达式而不是语句,表达式有,语句没有。...枚举 1.声明简单枚举类 enum class SimpleColor { RED, ORANGE } 2.声明一个带属性枚举类 enum class Color( // 声明枚举常量属性...Integer.toBinaryString(c.toInt()) binaryReps[c] = binaryString } // 迭代 map ,把键和赋值两个变量...Val关键字和var关键字分别用来声明只读变量和可变变量。 字符串模板帮组你避免繁琐字符串拼接。在变量名称前加上 $ 前缀或者用 ${} 包围一个表达式,来把注入到字符串中。...对象类在Kotlin中以简洁方式表示。 熟悉if现在是带返回表达式。 when表达式类似于Java中switch但功能更强大。

76610

转向Kotlin——枚举类和扩展

枚举Kotlin枚举类和Java中枚举类型非常相似,具有类特性。一般将可枚举同类型一组作为枚举类定义。...无论是Java还是Kotlin都提供了相应API来获取枚举名字和索引。Kotlin提供了name和ordinal属性,分别用于获取枚举名和索引。...扩展 扩展是Kotlin中非常重要功能,通过扩展,可以在没有源代码情况下向类中添加成员。也可以在团队开发情况下,通过扩展,功能模块分散多个人开发。...扩展属性 扩展属性和扩展方法类似,Kotlin属性在类中必须初始化,而初始化需要使用backing field,也就是那个field字段,可以属性设置保存在field中,也可以从field获得属性...(value) { mValue = value } 由于扩展属性属性没有backing field字段,因此保存和获取属性,需要使用一个类成员变量

1.3K20

iOS·枚举变量在 未赋值赋值为空 情况下,默认为0(即第一个枚举类型)

枚举类型变量赋值特性: 一个枚举类型如果没有初值,则默认为0。 一个枚举类型如果赋值为nil,同样为0。...= 1 }; 在调用时候,代码欲从VC字典数组 self.resource 中获取某字典 self.resource[indexPath.row] 并取出 type 键值对,但实际使用时,该字典并不存在键值对...,即 [self.resource[indexPath.row] objectForKey:@"type"] 为空,这时候如果把它传递给枚举类型,所获得到枚举类型仍为0。...打个断点,可以发现type1和type2均为PopupTypeNormal,即第一个枚举类型。...结论 可见,某些博客讲,上述这些对字典判空方法,是无效

7.6K10

Kotlin Primer·类与对象(上)

同时,在本示例中由于需要更改 name 参数,我们 val 改为 var,表明 name 参数是一个可改变参数。...4.3.1 open 修饰符 Kotlin 默认会为每个变量和方法添加 final 修饰符。...4.4 一些特殊类 4.4.1 枚举类 在 Kotlin 中,每个枚举常量都是一个对象。枚举常量用逗号分隔。 例如我们写一个枚举类 Programer。...enum class Programer { JAVA, KOTLIN, C, CPP, ANDROID; } 当它被编译成 class 后,转为如下代码实际就是一个私有了构造函数kotlin.Enum...在某种意义上,他们是枚举扩展:枚举类型集合也是受限,但每个枚举常量只存在一个实例,而密封类一个子类可以有可包含状态多个实例。

65220

Kotlin枚举与异常示例详解

一、kotlin枚举定义 枚举需要用到两个关键字 enum class,譬如这样 enum class Color(val r: Int,val g: Int,val b: Int){ //彩虹色也是一个典故...rgb函数 fun main() { println("RED's RGB value is ${Color.RED.rgb()}") 二、枚举和when结合 初步使用 //枚举和when配合使用...c2)){ setOf(Color.RED,Color.YELLOW) - Color.ORANGE else - throw Exception("Dirty Color") } 使用不带参数...不仅仅是在学习一种新语言,更是在学习改变习惯思考方式过程 和Java对比,用Kotin给你带来不一样思考习惯 熟悉if现在是带返回表达式 when表达式类似于Java中switch但功能更强大...区间和数列允许在for循环中使用统一语法和同一套抽象机制,并且还可以使用 ==in== 和 ==!in== 来检查是否属于某个区间。 Kotlin不区分受检异常和不受检异常。

52662

Kotlin入门(15)独门秘笈之特殊类

按此思路前面Java枚举类型Season改写为Kotlin枚举类,改写后枚举类代码如下所示: enum class SeasonType { SPRING,SUMMER,AUTUMN,...WINTER } 枚举类内部枚举变量,除了可以直接拿来赋值之外,还可以通过枚举几个属性获得对应信息,例如ordinal属性用于获取该枚举序号,name属性用于获取该枚举名称。...枚举变量本质上还是该类一个实例,所以如果枚举类存在构造函数的话,枚举变量也必须调用对应构造函数。这样做好处是,每个枚举不但携带唯一名称,还可以拥有更加个性化特征描述。...比如下面的枚举类SeasonName代码,通过构造函数能够枚举赋予更加丰富含义: enum class SeasonName (val seasonName:String) { SPRING...为解决枚举判断多余分支问题,Kotlin提出了“密封类”概念,密封类就像是一种更加严格枚举类,它内部有且仅有自身实例对象,所以是一个有限自身实例集合。

1.3K30

Kotlin热身篇: 简介与基本用法

5.2 kotlin 变量和常量 varible(变量) 通过 var 关键字来声明,格式为 var 变量名[:类型] = [初始] private var mConfig = RabbitConfig...const 相当于 java 里面的 final,表示一旦初始化便立即被主内存看到,不能被二次赋值 当然 kotlin 也有自动拆箱和装箱 Int 翻译成 Java int 或 Integer...() -> String get() = { this.toString() } } 5.3 kotlin null 判断 以上声明变量皆为非空变量,即不允许为空。...枚举和 when 表达式 5.8.2.1 kotlin 枚举 Kotlin 中,枚举类型以类形式存在,因此叫做枚举类,详细代码如下: enum class Color { RED, GREEN...var bool: Boolean = color == color2 //---------------为枚举指定数值------------------- enum class Direction

1.6K30

Kotlin | 一份10万字随查笔记,妈妈再也不担心我不会Ctrl+F了

了解一些特性背后实现 Kotlin数据类型 var与val 区别 var为可变变量,val相当于只读变量,如同java 中final 一样,val 创建时必须被初始化。...基础数据类型转换与字符串 不可隐式转换 不能直接像Java里一样,整型 Long,在Kotlin 里,需要显示调用toLong()方法 val anInt : Int =5 val aLong :...编译器常量引用都是直接指明该变量 函数 //函数写法 fun Demo1(a: Int): Int { return a } //当函数返回一个表达式是,可以使用一下方式 fun Demo2...常用注解使用 @JvmField : 属性编译为 JAVA变量 @JvmStataic :将对象方法编译成 Java静态方法 @JvmOverloads : 默认参数生成重载方法 如果一个参数带有默认参数...用于一个对象解构成多个变量 使用案例如下 fun main() { val map = HashMap() val kotlinBook = "Kotlin

2.6K20

Spring认证中国教育管理中心-Spring Data R2DBC框架教程六

它允许创建新实例,因为 Kotlin 生成copy(…)创建新对象实例方法,该方法从现有对象复制所有属性并将作为参数提供属性应用到该方法。...@PersistenceConstructor用于构造函数参数通过以下方式解析: 如果一个参数用注解进行@Value注解,则给定表达式被求值,并将结果用作参数值。...如果 Java 类型具有名称与输入行给定字段匹配属性,则其属性信息用于选择输入字段传递到适当构造函数参数。...某些数据库(例如Postgres)可以使用其特定于数据库枚举列类型本机写入枚举。...Spring DataEnum默认String转换为最大可移植性。要保留实际枚举,请注册一个@Writing转换器,其源和目标类型使用实际枚举类型以避免使用Enum.name()转换。

2.1K20

转向Kotlin——数据类和封闭类

数据类和封闭类是Kotlin两种特殊类,今天一起了解一下。 数据类是Kotlin一个语法糖。Kotlin编译器会自动为数据类生成一些成员函数,以提高开发效率。...所谓解构,就是解除解构,指的是数据对象中属性提取出来,分别单个变量。...Kotlin编译器会自动为数据类生成组件函数(以后会说到),隐藏,可以直接数据类成员解构: var js = Person("Js", 20) // js.name和js.age分别name和age...变量 var (name, age) = js println("$name, is $age years old") 封闭类 封闭类可以看作是枚举扩展。...封闭类只能是这些子类和对象。 使用封闭类好处是when表达式,不需要再使用else形式了。

92120

Kotlin实现图片上传保存查看

staticAccessPath: /upload/** #静态文件存储路径(最后带/ 访问路径 upload/xxx/xxx) #最后路径不带/ 需要把最后文件夹添加 访问路径 upload...{ } enum class ResponseCode{ Success, Failure, Custom } 我们采用枚举,这个在Java中与很大打区别,枚举直接可以与INt映射转化...ip:port/upload/xxx.png 此处注意是对于文件访问路径设置 /Users/sk/doc/ /Users/sk/doc 而这看似相同是则区别很大:对于/Users/sk/doc...来说最后doc需要出现在文件url访问路径中----ip:port/upload/doc/xxxx.png 总结: 总的来说差异不是很大需要去熟悉语法不适应,当然了Kotlin协成高级函数我们还没有体验到...,后续根据Kotlin学习之后我们进行语法实践之后完善我们Kotlin小项目达到融汇贯通

1.7K20
领券