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

转向Kotlin——枚举扩展

枚举Kotlin枚举Java枚举类型非常相似,具有类特性。一般将可枚举同类型一组作为枚举类定义。...,这个数并不一定从0开始,也不一定是按顺序,因此枚举枚举位置枚举对应数值可能并不相同。...无论是Java还是Kotlin都提供了相应API来获取枚举名字索引。Kotlin提供了nameordinal属性,分别用于获取枚举索引。...println(color.name) // 返回枚举名字 println(color.ordinal) // 返回枚举索引 除此以外,还可以使用valueOf方法传入枚举名称来获取枚举对应数值...以上编写扩展代码都是在同一个包同意个kotlin文件,当然,同一个包不同Kotlin文件也是一样,但是如果在不同包Kotlin里,就要使用import导入相应资源了。

1.3K20

转向Kotlin——基础知识

: 函数头:包括函数名标识函数关键字,fun; 参数:包括参数名参数类型; 返回:包括返回类型; Kotlin代码: fun add(a: Int, b: Int): Int { return...如果函数没有返回,则可以返回Unit,或者什么都不反回,: fun add(a: Int, b: Int) { a + b } 3、注释 Kotlin注释与Java注释一样,也有单行注释块注释...) KotlinJava一样,也提供了一些特殊表示法,用于表示DoubleFloat类型,以及十六进制二进制 表示Long类型,在数值后面加L或l,100L 表示Float类型,在数值后面加...1、条件语句 Kotlin,if语句本身就是表达式,有返回,因此Kotlin不会有如Java那样三木运算符。...,for循环可以直接枚举集合元素,也可以按集合索引来枚举元素。

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

Kotlin实战【三】表示与选择

前言 本章我们将学习怎么样在Kotlin通过枚举when实现表示与选择。...与java相同,枚举可以声明属性方法 1.2 带属性枚举类 先看看java代码: public enum Color { RED(255, 0, 0), //当每个变量创建时候,指定属性...这个例子展示了Kotlin语法唯一需要分号地方:在枚举如果你定义任何方法,分号区分了枚举常量列表方法声明。...接下来我们看一下枚举处理: 二 、表示与选择之When 2.1 使用“when”来处理枚举 接下来我们使用when选择枚举,我们输入一个颜色,返回对应一个字符串 fun getMnemonic(color...: Color) = //直接返回一个“when”表达式 when (color) { //如果颜色等于枚举常量,返回响应字符串 Color.RED

61910

Kotlin初探

上述代码就是简单输出一个字符串“HelloWorld”,package 后面跟是包名,我们看出了java文件区别,在包名后面没有以分号“;”结尾。...6 函数 我们先来实现一个简单数值求和函数,通用实现方法如下: 传入两个Int型数值,sum是函数名,括号后面的:Int表示该函数返回Int,函数体对两个数字相加返回。...: 括号表达式顺序决定了返回及其类型。...如果我们方法体仅仅是打印字符串,并不返回则: Unit就类似我们javavoid,即没有返回,此时我们可以省略 对于函数体,方法或者类等java一样也有一些修饰符,如下 abstract /...上面使用了字符模板,在Kotlin中有两种字符模板形式,\、 枚举Kotlin枚举还支持方法。

1.6K20

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

目录 剖析方法结构 函数 变量 字符串模板 注释 自定义访问器 源码布局:目录包 表示处理选择:枚举"when" 迭代事物:"while""for"循环 异常 综上(熟悉kotlin,可以直接跳转至综上...唯一需要使用分号地方:如果在枚举定义任何方法,就要使用分号把枚举常量列表方法定义分开....使用"when"处理枚举类 fun getMnemonic(color:Color) = //直接返回一个When表达式 when(color){ // 如果颜色枚举常量相等就返回对应字符串...在变量名称前加上 前缀 或者 用{ }包围一个表达式,来把注入到字符串.③ 对象类在kotlin简洁方式表示.④ kotlin if 是带返回表达式.⑤ when 表达式替代了...可以使用 in 运算符 !in运算符来检查是否属于某个区间.⑨ kotlin 异常java相似,除了kotlin不要求你声明函数可以抛出异常.

2.6K30

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

WINTER } 枚举类内部枚举变量,除了可以直接拿来赋值之外,还可以通过枚举几个属性获得对应信息,例如ordinal属性用于获取该枚举序号,name属性用于获取该枚举名称。...为解决枚举判断多余分支问题,Kotlin提出了“密封类”概念,密封类就像是一种更加严格枚举类,它内部有且仅有自身实例对象,所以是一个有限自身实例集合。.../set方法; 3、在判断两个数据对象是否相等时,通常每个字段都比较一遍; 4、在复制数据对象时,如果想修改某几个字段,得再补充对应数量赋值语句; 5、在调试程序时,为获知数据对象里保存字段,...待定类型可以有一个,ArrayList;可以有两个,HashMap;也可以有三个或者更多,AsyncTask。...() } 总结一下,本文介绍了Kotlin六种特殊函数,首先嵌套类内部类都定义在某个外部类内部,区别在于能否访问外部类成员;其次枚举密封类都提供了有序枚举集合,区别在于密封类定义更加严格

1.2K30

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

精彩内容不容错过~ 一. kotlin 简介 Kotlin 拥有强大生态,因为 Kotlin 是一门跑在 Java 虚拟机上函数式语言,完全符合 JVM 设计规范,: 类型擦除,装箱拆箱等等...Kotlin 基础语法 5.1 kotlin 方法 5.1.1 kotlin 方法声明 Kotlin 定义方式比较简单,括号是参数,格式: "函数名(参数名称: 参数): 返回类型",返回类型定义在括号外...枚举 when 表达式 5.8.2.1 kotlin 枚举 Kotlin 枚举类型以类形式存在,因此叫做枚举类,详细代码如下: enum class Color { RED, GREEN...总结 本文先从 kotlin 概念带大家进入 kotlin 语言,然后说了一下 kotlin java8 异同以及相互转换方式,最后对 Kotlin 基础语法进行一一阐述,: kotlin 方法变量使用...,kotlin 字符串模板, lambada 表达式,以及各种表达式实际运用。

1.6K30

Kotlin | 2.Kotlin基础

声明函数、变量、类、枚举以及类型 Kotlin控制结构 智能转换 抛出处理异常 函数学习 函数变量 函数 /** * 求最大 * if是表达式而不是语句,表达式有...没有三元运算符,因为if有返回 * 意味着: 可以用表达式语法重写eval函数,去掉return语句花括号,使用if表达式作为函数体 */ // 4.1 使用用返回...for”循环 1、“while” 循环 Kotlin 有 while 循环 do-while 循环,他们语法Java相应循环没有什么区别 2、迭代数字:区间和数列 /** * 区间...Val关键字var关键字分别用来声明只读变量可变变量。 字符串模板帮组你避免繁琐字符串拼接。在变量名称前加上 ? {} 包围一个表达式,来把注入到字符串。...对象类在Kotlin以简洁方式表示。 熟悉if现在是带返回表达式。 when表达式类似于Javaswitch但功能更强大。

70620

KotlinKotlin基础

表示处理选择: 枚举"when" when结构,javaswitch结构替代品,但是更强大。智能转换。...没有三元运算符,因为if有返回 * 意味着: 可以用表达式语法重写eval函数,去掉return语句花括号,使用if表达式作为函数体 */ // 4.1 使用用返回...for”循环 1、“while” 循环 Kotlin 有 while 循环 do-while 循环,他们语法Java相应循环没有什么区别 2、迭代数字:区间和数列 /** * 区间:...Val关键字var关键字分别用来声明只读变量可变变量。 字符串模板帮组你避免繁琐字符串拼接。在变量名称前加上 $ 前缀或者用 ${} 包围一个表达式,来把注入到字符串。...对象类在Kotlin以简洁方式表示。 熟悉if现在是带返回表达式。 when表达式类似于Javaswitch但功能更强大。

75810

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

Long = abInt.toLong() 字符串之间比较 == 比较内容,即类似Java equals === 比较对象是否相同 字符串之间相连 //字符串模板 $ val a:...= null //不推荐这种写法 } 基本运算符 任意类可以定义或者重载父类基本运算符 通过运算符对应具名函数来定义 对于参数个数做要求,对参数返回类型不做要求 不能像Scala一样定义任意运算符...(对于类来说) 伴生对象成员类似 Java 静态成员 在Kotlin,静态成员考虑用包级函数,包级变量替代 JvmField JvmStatic 使用 Kotlin-- class Demo...name) } } Kotlin-内置类型 基本类型 var b: String = "asdasd" val c: Int = 15 字符串比较, ,= == 比较内容是否相等 === 比较对象是否相等...,为了便于编译器识别,返回类型依然为String * 如果是其他情况,相应返回类型需要更改方可便于编译器,否则相应异常每个方法都需要手动添加 */ private fun caseDefault()

2.6K20

LeetCode 周赛上分之旅 #33 摩尔投票派上用场

1、将 nums[0] nums[n - 1] 平方添加到结果(如果数组长度不大于 1,则不需要添加 nums[n - 1] 影响); 2、从 2 到 sqrt(n) 范围内遍历所有元素下标...i,如果 n 能够被 i 整除,那么我们将 nums[i-1] 平方 nums[n/i-1] 平方分别添加到结果(如果 i n/i 相等,我们只添加其中一个,以避免重复); class...因此,我们算法是: 计算原数组支配元素 并从左到右枚举分割点,记录支配元素在左右子数组个数,当左右子数组中支配元素数量条件成立时,返回下标。...) 这道题中 forbidden[i] 字符串长度不超过 10,说明检查字符串匹配时间常数是比较,我们先考虑暴力解法。...使用同向双指针 i j 枚举子串,检查该子串是否合法; 由于在内存循环中移动 j 指针只是在 [i, j - 1] 基础上增加字符 nums[j],所以在检查时候仅需要检查 [i, j] 范围

23640

一篇就够——Kotlin快速入门

之前零零散散学过Kotlin,但是不成体系。最近,每天早起,利用上班之前四个早晨,将传智播客Kotlin从零基础到进阶》又刷了一遍,做了相应笔记——也就是这篇文章。...V7、类型推断显示类型声明(变量常量声明) 1、类型推断 在声明一个变量时,我们可以不需要显示声明数据类型,kotlin 会根据你为变量赋动态推导出其类型。...转换为10进制,复制给a } Byte、Int、Long 可以通过上述方式获取最大最小 String 没有最大最小,所以没有上述方法 V9、Kotlin函数入门 main() 程序入口 println...str2 // == 是比较,等同于 Java equals() 可以使用 == 比较字符串 也可以使用 equals(,) 方法比较字符串,该方法第二个参数表示是否忽略大小写,true-...equals(,) 第二个参数为 true时 效果等价于Java equalsIgnoreCase() V17、空处理 以 null 表示空 kotlin 定义方法时,默认接收是 非

1.5K20

kotlin基础语法

*/ 字符串模板 $ 表示一个变量名或者变量值 $varName 表示变量值 ${varName.fun()} 表示变量方法返回: 数据类型 类型 位宽度 Double 64 Float 32...Long 64 Int 32 Short 16 Byte 8 比较两个数字 在 Kotlin ,三个等号 === 表示比较对象地址,两个 == 表示比较两个大小。...do { //代码语句 }while(布尔表达式); 返回跳转 Kotlin 有三种结构化跳转表达式: return。默认从最直接包围它函数或者匿名函数 返回。 break。...使用 out 使得一个类型参数协变,协变类型参数只能用作输出,可以作为返回类型但是无法作为入参类型: in 使得一个类型参数逆变,逆变类型参数只能用作输入,可以作为入参类型但是无法作为返回类型...Lazy 实例函数,返回实例可以作为实现延迟属性委托: 第一次调用 get() 会执行已传递给 lazy() lamda 表达式记录结果, 后续调用 get() 只是返回记录结果

2.1K20

C#学习笔记(3)——枚举

System.Enum中三个比较有用方法是Enum.IsDefined、Enum.ParseEnum.GetName。      ...GetName方法根据指定(作为第二个参数传入)返回枚举相应字符串。...也就是说,如果未将   FlagsAttribute   应用到此枚举类型,且存在与此实例相等已命名常数,则返回为包含该常数名称字符串。...如果应用了   FlagsAttribute,且存在与此实例相等一个或多个已命名常数组合,则返回是一个字符串,该字符串包含用分隔符分隔常数名称列表。...The   value   of   this   instance   is   'Red'.     */          枚举位标志        我们经常会把枚举类型设置为2

48820

苹果新编程语言 Swift 语言进阶(七)--枚举、结构、类

假设为枚举成员提供,该能够是一个字符串、一个字符或者是一个随意整数或浮点数。 枚举成员能够定义到一行,并用逗号切割。...这与C 语言为枚举成员分配一个整数值类似,但Swift定义原始类型能够是字符串、字符、或随意整数或浮点数类型等,: enum ASCIIControlCharacter:Character...方法来返回相应原始枚举成员,该方法返回是一个选项,由于其可能存在也可能不存在。...例如以下所看到。 let possiblePlanet =Planet.fromRaw(9) // 返回相应原始为9枚举Planet枚举成员。...在Swift,全部结构类型都会自己主动产生一个參数初始化方法,能够使用该方法来初始化创建结构实例及其成员属性,新创建实例属性初始使用该初始化方法參数传进来: let vga

99520

听GPT 讲Rust源代码--compiler(1)

这个trait定义了一个translate方法,接受一个DiagnosticBuilder对象作为输入,返回一个字符串类型错误或警告信息。...然后,文件定义了一个 Never 枚举体,它表示一个不可能返回。这个枚举体在编译器通常用于表示永远不会执行到分支,例如 panic 或者无限循环等。...True:表示布尔选项为 true。 Uninitialized:表示布尔选项尚未初始化。 这个枚举类型目的是为了展示如何在生成代码处理带有多态布尔选项。...abi_cafe.rs提供了相应函数来设置获取调用约定。 函数参数返回:ABIBody结构体字段用于存储函数参数返回类型信息,包括数据类型、大小、对齐方式等。...通过定义ABIBody结构体相应方法,该文件确保了在编译Rust代码时正确处理函数调用约定、参数返回类型匹配,以及类型转换等问题。这是实现JIT编译跨平台移植重要步骤之一。

9210

Android:这是一份全面 & 详细Kotlin入门学习指南

配置使用 下面将讲解如何在Android Studio配置Kotlin进行使用。 3.1 Android Studio3.0前版本 主要分为3个步骤,完成3个步骤即可完成Kotlin配置。...在Kotlin,有一些观念是Java存在较大区别的,一些基本观念需要注意: 操作对象:在Kotlin,所有变量成员方法属性都是对象,若无返回返回Unit对象,大多数情况下Uint可以省略...特别注意 一个函数,除了有传入参数 & 有返回情况,还会存在: 有传入参数 & 无返回 无传入参数 & 无返回 // 有传入参数 & 无返回 // 模板: fun 函数名(参数名:参数类型...if语句 Kotlinif语句与Java用法类似 区别在于:Kotlinif语句本身是一个表达式,存在返回 var c = if (a > b) 3 else 4 // 若a > b,则返回3...) // :String类型变量不能容纳null // 若要允许为空,可声明一个变量为可空字符串:在字符串类型后面加一个问号?

2.8K20

Carson带你学Android:这是一份全面 & 详细Kotlin入门学习指南

配置使用 下面将讲解如何在Android Studio配置Kotlin进行使用。 3.1 Android Studio3.0前版本 主要分为3个步骤,完成3个步骤即可完成Kotlin配置。...在Kotlin,有一些观念是Java存在较大区别的,一些基本观念需要注意: 操作对象:在Kotlin,所有变量成员方法属性都是对象,若无返回返回Unit对象,大多数情况下Uint可以省略...特别注意 一个函数,除了有传入参数 & 有返回情况,还会存在: 有传入参数 & 无返回 无传入参数 & 无返回 // 有传入参数 & 无返回 // 模板: fun 函数名(参数名:参数类型...if语句 Kotlinif语句与Java用法类似 区别在于:Kotlinif语句本身是一个表达式,存在返回 var c = if (a > b) 3 else 4 // 若a > b,则返回3...) // :String类型变量不能容纳null // 若要允许为空,可声明一个变量为可空字符串:在字符串类型后面加一个问号?

2.1K20
领券