kotlin
kotlin相关知识
yufumatou
这个作者很懒,什么都没留下…
展开
-
kotlin获取泛型集合的类型信息
关键字和内联函数来实现。原创 2023-07-26 18:33:02 · 678 阅读 · 0 评论 -
kotlin类
3、需要返回值的when,全部列出子类则无需定义else(如果直接使用when而不使用其返回值,即使未全部罗列也没有定义else也不会有异常提示)6、重新了hashCode和equals方法:全部参数值相等,则对象相等(注:不是同一个对象,===仍为false)内部类:嵌套类加上inner,持有外部类引用,对应Java的非静态内部类。3、不可以声明为abstract、open、sealed和inner。2、子类必须与密封类在同一个文件中,而子类的派生类可以在其他文件中。1、可以定义抽象方法。原创 2023-07-10 17:42:15 · 452 阅读 · 0 评论 -
Flow
介绍:Flow是google官方提供的一套基于kotlin协程的数据流处理模型,类似RxJava。另外Flow作用在协程内,可以与协程的生命周期绑定,当协程取消时,Flow也会被取消,避免了内存泄漏风险,这点又类似LiveData。因此Flow可以用来替代LiveData和RxJava。LiveData不支持线程切换,数据更新都是在主线程完成,对于频繁切换线程处理比较麻烦。RxRava操作符较多,入门门槛较高,另外未关联生命周期,需要自己处理取消订阅。使用:1、创建flow//方式1val原创 2022-05-11 19:37:45 · 544 阅读 · 0 评论 -
重载运算符plus
使用场景:通过+号实现对象属性的叠加class Test(var num: Int) { operator fun plus(t: Test): Test{ num += t.num return this }}private fun test(){ val t = Test(1) t + Test(2) + Test(3) val result = t.num//结果为6}理解了plus的原理,还可以通过+号实现链原创 2022-04-07 15:04:27 · 578 阅读 · 0 评论 -
密封函数sealed
sealed密封类使用场景:增强版的枚举类型,不同之处在于枚举的实例是唯一的,而密封类可以有很多实例(如下TestA实例是唯一的,而TestB则可以创建多个实例)sealed class Test { object TestA : Test() class TestB(value: String) : Test()} private fun test(t: Test) = when(t){ Test.TestA ->{} is Te原创 2022-04-07 14:22:40 · 344 阅读 · 0 评论 -
序列化和反序列化
前言:将继承Serializable的实体类通过如下方法序列化成字符串,并以SharedPreferences方式保存,当对该实体类添加属性后,再对存储的字符串进行反序列化则会触发java.io.InvalidClassException/** * 序列化对象 */ @Throws(IOException::class) private fun <A> serialize(obj: A): String { val byteArrayOu原创 2022-03-18 18:45:48 · 3371 阅读 · 0 评论 -
挂起函数suspend
kotlin挂起函数+ViewModel,使异步如此简单。原创 2022-02-10 10:38:44 · 1616 阅读 · 0 评论 -
kotlin注意事项
一、参数遮蔽方法中可以定义和方法参数同名的属性,而java则不支持此操作fun test(name: String){ val name = "张三" Log.e("aa", name)}二、java混编Null安全调用java方法编译则不会校验Null安全,需要自己处理public class Util { public static String test(){ return null; }}//kotlinfun te原创 2021-07-16 10:38:36 · 215 阅读 · 0 评论 -
Kotlin基本使用
一、Android studio添加kotlin插件1、File–> Setting–>Plugins–>Browse Repositorise–>搜索Kotlin–>安装–>重启Android studio二、项目添加kotlin配置1、项目添加kotlin依赖Tools–>kotlin–> Configure Kotlin In Project...原创 2018-03-19 13:59:33 · 255 阅读 · 0 评论 -
kotlin基础
一、数据类型(无基础数据类型,均为对象)Type Bit width Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 二、可见性修饰符修饰符 描述 public 同java private 同java protected 同java internal Module内可见...原创 2020-10-28 15:09:41 · 144 阅读 · 0 评论 -
kotlin单例
一、饿汉模式//Java实现public class Singleton { private static Singleton instance=new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; }}//Kotlin实现object SingletonDemo{}二、懒汉模式...原创 2020-09-27 18:42:32 · 875 阅读 · 0 评论