![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin
怪伽先森
在迷茫中执着前行
展开
-
kotlin companion object
kotlin 没有 java 对应的 静态方法,但提供了 companion object@Jvmstatic 注解companion objectfun main(args: Array<String>) { StringUtils.isEmpty("===")}class StringUtils{ companion object{ fun isEmpty(str: String): Boolean{原创 2020-12-13 21:33:40 · 2395 阅读 · 0 评论 -
kotlin 高阶函数的注意事项
高阶函数的注意事项 高阶函数的定义在 kotlin 中,函数是 "一等公民"注意用内联优化代码高阶函数的定义函数(or lambde) 的参数又是 函数(or lambde),这样的函数我们称之为高阶函数fun main(args: Array<String>) { onlyif(true){ println("print log") }}fun onlyif(isDebug: Boolean, block:() -> Unit){ i原创 2020-12-12 21:53:17 · 363 阅读 · 0 评论 -
kotlin 的简洁性
kotlin 的简洁性1. 化空对象的处理(防止空指针)2. 属性访问,代替 `Get/Set` 方法3. 默认构造函数4. 对象属性调用简化(使用with、apply、let等)5. 安卓自动绑定xml文件中控件定义6. 简化Parcelable实现7. 简化单例对象构造8.使用字符串模版简化字符串拼接9. 使用 `when`进行分支判断(替代Java中 `switch`)10. 解构对象(Destructuring Declarations)(Java无此高级玩法)11. 协程coroutines12.原创 2020-12-07 10:41:50 · 224 阅读 · 0 评论 -
初识 Kotlin (七) ---- kotlin 与 Java 代码互调
1. Java 与 Kotlin 交互的语法变化1.1 Java 调 KotlinUtils.kt -> 这是 kotlin文件fun echo(name:String){ println("$name")}Main.javapublic static void main(String[] args){ UtilsKt.echo("hello");}1.2 objec...原创 2019-12-25 12:54:01 · 217 阅读 · 0 评论 -
初识 Kotlin (六) ---- 类成员初始化
类成员初始化订单类Orderclass Order (var orderId:String){}用户类Useropen class User(username: String, age: Int) { //lateinit代表延迟初始化 lateinit var userId: String //lateinit不能修饰基本数据类型,只能修饰对象 /...原创 2019-12-19 14:06:15 · 399 阅读 · 0 评论 -
初识 Kotlin (六) ---- Kotlin 中的主构造方法和从构造方法
Kotlin的构造函数分为主构造器(primary constructor)和次级构造器(secondary constructor)。下面我们来看看他们的写法1. Primary Constructor1.1 写法规则class 类名 constructor(形参1, 形参2, 形参3){}class Person constructor(username: String, age: ...原创 2019-11-06 16:15:35 · 515 阅读 · 0 评论 -
初识 Kotlin (五) ---- Kotlin 中 的单例模式
六种单例模式饿汉模式懒汉模式线程安全的懒汉模式双重校验锁式静态内部类式枚举式1. 饿汉模式: static final field既然饿,那么在创建对象实例的时候就比较着急,于是在装载类的时候就创建对象实例这种方法非常简单,因为单例的实例被声明成 static 和 final 变量了,在第一次加载类到内存中时就会初始化,所以创建实例本身是线程安全的。//Java实现pub...原创 2019-11-06 15:30:47 · 458 阅读 · 0 评论 -
初识 Kotlin (四) ---- 获取 Kotlin 中 class 的实例
Kotlin的类class Lizi { var name: String = "" var age: Int = 0 companion object { }}对于 Kotlin 的 class 要知道获取的到底是什么,可以利用 AS 的类型提示,一目了然(IDEA 类型查看快捷键 --> Ctrl + Q):val lizi = Lizi(...原创 2019-11-06 14:47:46 · 8692 阅读 · 0 评论 -
初识 Kotlin (三) ---- 零散的一些知识点
1. 如何定义静态变量、方法javapublic class Singleton{ private static Singleton instance = ...; public static Singleton getInstance(){ ... return instance; }}kotlincl...原创 2019-11-06 14:45:51 · 239 阅读 · 0 评论 -
初识 Kotlin (二) ---- lateinit vs lazy
Kotlin Property Initialization在使用 kotlin开发中,因为各种原因,我们会经常需要使用到延迟加载的功能(不在构造函数中初始化属性),目前kotlin的延迟加载主要有两种:lateinit 和 lazylateinit // 声明一个string变量 lateinit var a1: String private fun tes...原创 2019-11-06 13:35:25 · 626 阅读 · 1 评论 -
初识 Kotlin (一)
1. kotlin 文档官方文档kotlin 菜鸟教程2. from java to kotlin2.1 打印日志JavaSystem.out.print("Amit Shekhar");System.out.println("Amit Shekhar");Kotlinprint("Amit Shekhar")println("Amit Shekhar")2....原创 2019-11-06 11:58:31 · 228 阅读 · 0 评论