
Kotlin
文章平均质量分 56
一叶飘舟
目标赋予我们生命的意义和目的。有了目标,我们才会把注意力集中在追求喜悦,而不是在避免痛苦上。(急需找我,加微信:jdsjlzx)
展开
-
Kotlin中Int和 Int? 以及 IntArray 和 Array的问题
开篇之前文章中提到过,kotlin的形参如果不加?那么会默认为不为空。这个小知识点在kotlin编译的时候其实很有用的,我们拿java中的int和Integer来举例。Integer是int的包装类型,比int更浪费资源,最为一个优秀的coder,肯定希望在范围允许内使用int而不是Integer。案例我们来看看2个方法fun myList(vararg inner: Int) { println(inner.size)}fun myList2(vararg...原创 2021-06-18 15:34:53 · 6322 阅读 · 1 评论 -
kotlin中 init、constructor、companion object 调用顺序
fun main() { Human() Human.instance}class Human { private var work: String = "医生" constructor() { println("主构造方法 constructor") } constructor(name: String) { println("带参数构造方法 constructor $name") } i...原创 2021-06-08 14:34:26 · 2099 阅读 · 2 评论 -
Kotlin判空的各种操作(替换if else)
If not nullval files = File("Test").listFiles()println(files?.size)If not null or elseval files = File("Test").listFiles()println(files?.size ?: "empty")If not null and trueif (someObject?.status == true) doThis()或someObject?.takeIf转载 2021-03-12 22:35:53 · 5017 阅读 · 3 评论 -
kotlin位操作和位运算
一、位操作:shl(bits) – 左移位 (Java’s <<)shr(bits) – 右移位 (Java’s >>)ushr(bits) – 无符号右移位 (Java’s >>>)and(bits) – 与 &or(bits) – 或 ||xor(bits) – 异或inv() – 反向val a = 5val b = a shl 2 //左移2位,5*2*2=20println(b) //20二、位运算符:..转载 2020-09-15 19:09:09 · 9131 阅读 · 0 评论 -
Kotlin ==和===的区别
总体来说kotlin中==比较的是数值是否相等, 而===比较的是两个对象的地址是否相等, 见如下代码:val a: Int = 999val b: Int? = aval c: Int? = aprintln(b == c) //trueprintln(b === c) //false这个和java中运行结果是在意料之中, == 比较数值, 而===比较的是地址, 前者为true, 后者为false.那么看下面这段代码的运行情况: val a: Int = 9...转载 2020-05-26 10:56:17 · 4056 阅读 · 1 评论 -
kotlin 中::class 、class.java、javaClass、javaClass.kotlin区别
Kotlin的类class Person { var name: String = "" var age: Int = 0 companion object { }}java类public class Man {}要知道获取的到底是什么,可以利用andorid stuido的类型提示,一目了然。...转载 2020-04-05 15:37:55 · 22428 阅读 · 2 评论 -
Kotlin(run,apply)陷阱
泛型T首先我们先看一下apply的源码fun T.apply(block: T.() -> Unit): T { block(); return this }这个泛型T可以为null,也就是说null也被赋予了apply的方法null.apply{ System.out.println("null apply")}在IDE里面null是没有....转载 2020-01-16 15:29:33 · 1164 阅读 · 0 评论 -
Kotlin下的5种单例模式
前言最近在学习Kotlin这门语言,在项目开发中,运用到了单例模式。因为其表达方式与Java是不同的。所以对不同单例模式的实现进行了分别探讨。主要单例模式实现如下:饿汉式 懒汉式 线程安全的懒汉式 双重校验锁式 静态内部类式PS:该篇文章不讨论单例模式的运用场景与各种模式下的单例模式的优缺点。只讨论在Java下不同单例模式下的对应Kotlin实现。一、饿汉式实现/...转载 2020-01-15 12:20:04 · 1623 阅读 · 0 评论 -
Kotlin知识点
让你的 Kotlin 代码远离 !!简评:优雅的运用 Kotlin 的 null safety 特性,而不要简单的直接用 !!。对于 Null 的检查是 Kotlin 的特点之一。强制你在编码过程中考虑变量是否可为 null,因此可以避免很多在 Java 中隐藏的 NullPointerException。但是,当你用插件直接将 Java 代码转换为 Kotlin 时,你会发现有很多 ...原创 2020-01-15 12:07:31 · 718 阅读 · 0 评论