简化操作
1.创建 DTOs
data class Customer(val name: String, val email: String)
-
所有属性的 getters (对于 var 定义的还有 setters)
-
equals()
-
hashCode()
-
toString()
-
copy()
2.函数的默认参数
fun foo(a: Int = 0, b: String = "") { …… }
过滤 list
val positives = list.filter { x -> x > 0 } 或者 val positives = list.filter { it > 0 }
3.检测元素是否存在于集合中
if ("john@example.com" in emailsList) { …… }
if ("jane@example.com" !in emailsList) { …… }
4.字符串内插
println("Name $name")
5.延迟属性
val p: String by lazy {
// 计算该字符串
}
6.创建单例
object Resource {
val name = "Name"
}
7.If not null 缩写
val files = File("Test").listFiles()
println(files?.size)
8.If not null and else 缩写
val files = File("Test").listFiles()
println(files?.size ?: "empty")
9.if null 执行一个语句
val values = ……
val email = values["email"] ?: throw IllegalStateException("Email is missing!")
10.使用可空布尔
val b: Boolean? = ……
if (b == true) {
……
} else {
// `b` 是 false 或者 null
}
11.TODO():将代码标记为不完整
Kotlin 的标准库有一个 TODO() 函数,该函数总是抛出一个 NotImplementedError。 其返回类型为 Nothing,因此无论预期类型是什么都可以使用它。 还有一个接受原因参数的重载:
fun calcTaxes(): BigDecimal = TODO("Waiting for feedback from accounting")
更多kotlin代码用法习惯,可以参考*kotlin语言中文网*