之间使用了kotlin的标准函数、匿名函数,觉得它十分灵活,简便。其实kotlin的标准函数就是用了扩展一、扩展函数1.定义扩展函数当我们需要对一个类新增一个方法时,在Java中需要写一个子类继承它,然后添加我们的新方法。 在kotlin中,可以利用扩展增加类的功能,指定类名后就可以新增函数 我们给所有类新增打印函数,给String新增加上!的方法://给所有类新增打印函数 :Any.函数名()
转载
2023-12-14 08:50:43
66阅读
扩展函数和扩展属性都会被编译成一个方法,这个方法的第一个参数就是扩展的接收者,然后才是其它各个参数。对于扩展属性来说 ,因为编译后这个属性并不存在,所以不能像一般的类属性那样对它进行初始化,而是要自定义 getter 和 setter 来访问它。扩展函数不修改源文件的情况下,为一个类扩展新功能无需继承重写,反编译成java是生成了对应的静态方法,并没有真正的修改了类。一个类只定义框架,工具函数可以
转载
2024-06-26 09:02:10
64阅读
Kotlin扩展知识(一):延迟初始化和密封类扩展函数:扩展函数表示即使在不修改某个类的源码的情况下,仍然可以打开这个类,向该类添加新的函数。当我们想要实现一个 统计某个字符串中的字母数量 的方法时,之前通常需要创建一个单例类,来实现一个函数,函数参数为字符串,进行统计,如下:object StringUtil {
fun lettersCount(str: String): Int {
转载
2023-11-29 16:07:36
83阅读
kotlin的扩展功能Kotlin 能够扩展一个类的新功能而无需继承该类或者使用像装饰者这样的设计模式。 这通过叫做 扩展 的特殊声明完成。 例如,你可以为一个你不能修改的、来自第三方库中的类编写一个新的函数。 这个新增的函数就像那个原始类本来就有的函数一样,可以用普通的方法调用。 这种机制称为 扩展函数 。此外,也有 扩展属性 , 允许你为一个已经存在的类添加新的属性。扩展函数声明一个扩展函数,
转载
2023-10-17 10:28:34
100阅读
扩展与 C# 和 Gosu 类似, Kotlin 也提供了一种,可以在不继承父类,也不使用类似装饰器这样的设计模式的情况下对指定类进行扩展。我们可以通过一种叫做扩展的特殊声明来实现他。Kotlin 支持函数扩展和属性扩展。
函数扩展为了声明一个函数扩展,我们需要在函数前加一个接收者类型作为前缀。下面我们会为 MutableList<Int>&nbs
kotlin学习第二天1.类和接口1.类2.接口3.抽象类2.扩展方法3.空类型安全1.?=赋空值2.!!.实现强制不为空类型3.安全转换 as?4.分支表达式1.if2.when3.try..catch5.Lambda表达式6.高阶函数7.内联函数1.inline2.noinline3.crossinline 1.类和接口1.类1.kotlin中使用constructor作为构造方法;java
转载
2024-01-10 11:41:16
125阅读
第三种是 InnerHandler 为继承了 Handler 的内部类所以只要消息一直存在于主线程,就会导致 Activity 不能释放,导致了内存泄漏。解决方法://静态内部类 kotlin 也为了避免内部类持有导致的内存泄漏频繁发生,所以 默认一个 class 代表的是静态内部类,不持有外部引用
//inner class 才是内部类
class Handler2(context: Conte
本篇文章主要讲的是,kotlin 协程在 ktx 上的扩展lifecycle 扩展对于 lifecycle 的扩展,已经在 以前的文章中讲过了
原创
2021-09-08 17:44:51
325阅读
扩展属性在Kotlin编程,对类的函数进行扩展外,也支持属性扩展。package com.xingen.kotlin.day2017527
fun main(args: Array<String>) {
var list=listOf("1",2,"3")
println(list.lastIndex)
}
/**
* 属性扩展
* 这里,给List类扩展一个
Kotlin 的扩展/*什么是扩展函数和扩展属性?*/
// 这个扩展函数是直接定义在 Kotlin 文件里的,而不是定义在某个类当中的。这种扩展函数,
//我们称之为“顶层扩展”,这么叫它是因为它并没有嵌套在任何的类当中,它自身就在最外层。
/*
① ② ③ ④
↓ ↓ ↓ ↓ */
fun Str
本节将着重介绍扩展函数Kotlin 中有一个非常大的优势,就是可以静态的给一个类扩展它的成员方法,以及成员变量扩展函数首先扩展函数也是一个函数,所以也需要 fun 关键字进行声明,后面紧跟着的是你需要扩展的类的类名, 比如示例中是给 File 类扩展一个成员方法,之后是一个 . 它用来分割类名和函数名,后面紧跟着的是扩展函数名,后面则与普通函数声明无异,参数、返回值以及函数体。下面我们看到的示例实
转载
2023-11-07 11:02:35
126阅读
Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用Decorator模式。扩展是一种静态行为,对被扩展的类代码本身不会造成
原创
2023-05-30 01:11:50
98阅读
Kotlin扩展Kotlin提供了用一个新的函数来扩展一个类的能力,而不需要继承这个类或用设计模式如装饰者来实现。有了这个能力,我们就可以轻松为那些我们不能改变的第三方包中的类添加功能。为类添加了的函数,可以像类的其他函数一样调用。除了扩展函数外,还可以扩展属性,让你为已存在的类定义新属性。这个Kotlin机制叫扩展函数
原创
2022-08-03 10:39:36
73阅读
Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。 扩展函数 扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式: receiverType:表示函数的接收者,也就是函数扩展的
原创
2019-04-29 14:54:00
119阅读
一、扩展函数1、扩展函数扩展函数,就是从类的外部扩展出来的一个函数,这个函数看起来就像是类的成员方法一样。比如扩展一个String的方法。我们经常需要切割字符串然后获取第几个元素,我们扩展一个类似的工具类方法,如下:fun String.getStringAfterCut(regular: String, index: Int): String? {
split(regular).let
转载
2023-11-24 00:51:57
202阅读
目录kotlin学习一:基础基本类型类型转换位运算布尔运算true 与 false。变量赋值valvar空值与null:字符串使用控制流逻辑if条件表达式while循环when表达式for循环in的使用技巧2 区间迭代3 数列迭代返回和跳转kotlin学习一:基础基本类型整数四种类型:
浮点数类型:默认 double:123.5、123.5e10,Float 用 f 或者 F 标记: 123.5f
转载
2023-12-06 22:16:42
123阅读
一、扩展在Kotlin中可以给一个类添加一个新的方法而不用继承该类或者使用设计模式,这样的方法称为扩展。1.扩展函数声明一个扩展函数,我们需要用一个 接收者类型 也就是被扩展的类型来作为他的前缀。 下面代码为 MutableList 添加一个swap 函数:fun MutableList<Int>.swap(index1: Int, index2: Int) {
val tmp
转载
2023-07-20 12:39:08
172阅读
什么是扩展函数扩展函数数是指在一个类上增加一种新的行为,我们甚至没有这个类代码的访问权限;Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式;扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。扩展函数扩展函数可以在已有类中添加新的方法,不会对原类做修改;//扩展函数定义形式:
fun receiverType.functionName(pa
转载
2023-11-09 21:27:52
86阅读
我们在学习Java中,有些类的API并不能帮助我们解决问题,所以我们不得不在现有的类库的基础之上,写一些工具类,要么继承,要么使用组合依赖,这实际上是一个繁琐的工作,代价较大。 Kotlin则不一样,它像C#和Gosu一样,为我们提供了扩展的特性。扩展定义Kotlin 同 C# 和 Gosu 类似,能够扩展⼀个类的新功能⽽⽆需继承该类或使⽤像装饰者这样的任何类型的设计模式。这通过叫做 扩展 的特
转载
2023-09-25 08:02:55
212阅读
1.Kotlin调用JavaScript(Calling JavaScript from Kotlin)Kotlin被设计能够与Java平台轻松互操作,kotlin可将Java类转为Kotlin类,Java也将Kotlin类转为Java类!但JavaScript是一种动态类型语言,意味着不会在编译期检查类型,可以在Kotlin中与JavaScript自由交流,但如果想用Kotlin类型系统全部功能
转载
2024-07-28 17:53:44
41阅读