在上一次https://www.cnblogs.com/webor2006/p/11219358.html学习了Kotlin的扩展,继续这个话题继续拓展,首先提出这么一个问题:假如我们扩展的方法跟类中已有的方法一模一样,那最终调用的哪个方法呢?虽说这个问题有点白痴,但是为了学习得更加透彻有必要对这些
原创
2019-07-22 21:25:00
126阅读
扩展函数作用域总结 :① 扩展函数作用域 : 扩展函数使用需要导入包 , 如果在本包中使用 , 可以默认不导入包 ;② 扩展函数可以重载 : 函数名相同 , 函数签名不同的扩展函数可以同时定义 , 导入包时导入一次即可调用所有的重载的扩展函数 ;③ 扩展函数作用域优先级 : 声明导入的扩展函数优先级高于默认包的优先级 , 声明导入哪个包就调用哪个包的扩展函数 ;
原创
2022-03-09 10:14:13
379阅读
文章目录1 可空性1.1 可空类型1.2 类型的含义1.3 安全调用运算符: “?.”1.4 Elvis运算符: “?:”1.5 安全转换: “as?”1.6 非空断言:“!!”1.7 “let”函数1.8 延迟初始化的属性1.9 可空类型的拓展1.10 类型参数的可空性1.11 可空性和java2 基本数据类型和其他基本类型2.1 基本数据类型:Int,Boolean及其他2.2 可空的基本数
GlobeScope:全局范围,不会自动结束执行。
MainScope:主线程的作用域,全局范围
lifecycleScope:生命周期范围,用于activity等有生命周期的组件,在Desroyed的时候会自动结束。
viewModeScope:ViewModel范围,用于ViewModel中,在ViewModel被回收时会自动结束
原创
2023-04-15 08:51:43
177阅读
目前uwp版本oneNote对文本格式的支持不够全面 不过可以利用间接来实现目的:使用格式刷 就是借助行距较小的文本,通过格式刷(可
原创
2022-06-14 18:14:34
101阅读
Kotlin ---- 扩展属性、扩展函数在原有类的基础上,增加功能,及不用改源码,也不用写子类!简单的示例扩展属性val Float.dpTOpx
get()= TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,this,
Resources.getSystem().displayMetrics)
转载
2023-08-17 14:23:25
145阅读
Kotlin标准库提供了5个scope functions(作用域函数): let, run, with, apply, also.作用域函数的目的是为了在对象的上下文中执行一段代码. 当你在一个对象上调用作用域方法, 提供一个lambda表达式, 会形成一个临时的scope, 在这个scope里, 访问该对象可以不用它的名字.作用域方法没有引入什么新的技术能力, 它们只是简化了代码.作用域函数的
转载
2021-06-02 15:42:55
143阅读
Kotlin标准库提供了5个scope functions(作用域函数): let, run, with, apply, also.作用域函数的目的是为了在对象的上下文中执行一段代码. 当你在一个对象上调用作用域方法, 提供一个lambda表达式, 会形成一个临时的scope, 在这个scope里, 访问该对象可以不用它的名字.作用域方法没有引入什么新的技术能力, 它们只是简化了代码.作用域函数的
转载
2021-06-02 15:43:00
181阅读
前言我们都知道Java中一直在说万物皆对象,面向对象编程,但基本数据类型却不是对象,而Kotlin中的所有类型都是对象,包括基本数值类型和方法,而数值对象的运行效率不如基本数据类型(具体请自行搜索);猜测那么,Kotlin中使用数值进行运算是否会比Java中使用数值运算效率更慢呢?理论在Java平台上,Kotlin的数字类型被物理存储为JVM原始类型,除非需要一个可空的数字引用(例如Int?)或涉
Kotlin的作用域函数是一组高阶函数,用于在特定作用域内执行代码块,并处理上下文对象的生命周期。它们
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阅读
Job详解: 在上一次https://www.cnblogs.com/webor2006/p/11725866.html中抛出了一个问题: 所以咱们将delay去掉,需要改造一下,先把主线程的delay给注释掉: 那怎么做呢?这里先来看一下GlobalScope.launch()方法的返回值: 咱们
原创
2019-10-24 09:58:00
61阅读
之间使用了kotlin的标准函数、匿名函数,觉得它十分灵活,简便。其实kotlin的标准函数就是用了扩展一、扩展函数1.定义扩展函数当我们需要对一个类新增一个方法时,在Java中需要写一个子类继承它,然后添加我们的新方法。 在kotlin中,可以利用扩展增加类的功能,指定类名后就可以新增函数 我们给所有类新增打印函数,给String新增加上!的方法://给所有类新增打印函数 :Any.函数名()
转载
2023-12-14 08:50:43
66阅读
一、扩展在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阅读
扩展函数和扩展属性都会被编译成一个方法,这个方法的第一个参数就是扩展的接收者,然后才是其它各个参数。对于扩展属性来说 ,因为编译后这个属性并不存在,所以不能像一般的类属性那样对它进行初始化,而是要自定义 getter 和 setter 来访问它。扩展函数不修改源文件的情况下,为一个类扩展新功能无需继承重写,反编译成java是生成了对应的静态方法,并没有真正的修改了类。一个类只定义框架,工具函数可以
转载
2024-06-26 09:02:10
64阅读
我们在学习Java中,有些类的API并不能帮助我们解决问题,所以我们不得不在现有的类库的基础之上,写一些工具类,要么继承,要么使用组合依赖,这实际上是一个繁琐的工作,代价较大。 Kotlin则不一样,它像C#和Gosu一样,为我们提供了扩展的特性。扩展定义Kotlin 同 C# 和 Gosu 类似,能够扩展⼀个类的新功能⽽⽆需继承该类或使⽤像装饰者这样的任何类型的设计模式。这通过叫做 扩展 的特
转载
2023-09-25 08:02:55
212阅读