使用 Kotlin 时其实我们并不用急于区自定义一个类去封装返回结果,Kotlin API 提供了一个 Result 类型来帮我们处理这种操作
当我们使用 Result 类型时,IDE 会警告 `kotlin.Result` cannot be used as a return type,这是什么原因呢?
FATAL EXCEPTION: main Process: cn.itmob.demo, PID: 3224 java.util.NoSuchElementException: Expected at least one element
尾缀 lambda 好像是 Kotlin 中独特的新事物,我所了解的其他几个常用语言没有遇到过类似语法
在 Android 6(Android Marshmallow)和之前的版本中 JDK 的 Charset.toString() 方法的返回值是 java.nio.charset.CharsetICU[UTF-8]
Kotlin 中的 Elvis 运算符更像 Swift 中的空值合并运算符 ??,它是一个二元运算符,执行以下操作:1. 如果它不为空,则返回第一个操作数。2. 否则,它返回第二个操作数。
在 Kotlin 中有两种类型的相等: - *结构相等* (`==` - 检查 `equals()` ) - *引用相等* (`===` - 判断两个引用是否指向同一个对象)
1. 与 Java 相同,Any.equals() 函数比较的是两个对象的引用是否相等。也就是说,如果没有覆盖 equals() 函数,== 与 === 的结果是相同的。 2. equals() 并不遵循 IEEE 754 浮点运算标准。
如果使用的是 Kotlin 1.4+,则 Kotlin Gradle 插件现在默认添加 -jdk8 标准库。不再需要在任何 Kotlin Gradle 项目(包括跨平台项目)中声明对 stdlib 库的依赖。依赖默认情况下已添加