::
Kotlin 中 双冒号操作符 表示把一个方法当做一个参数,传递到另一个方法中进行使用,通俗的来讲就是引用一个方法。
"?"加在变量名后,系统在任何情况不会报它的空指针异常。
val myList: ArrayList<String>? = null
"!!"加在变量名后,如果对象为null,那么系统一定会报异常!
myList!!.xxxfunc()
->
fun Collection.fold( initial: R, combine: (acc: R, nextElement: T) -> R): R { var accumulator: R = initial for (element: T in this) { accumulator = combine(accumulator, element) } return accumulator}
在上述代码中,参数 combine 具有函数类型 (R, T) -> R,因此 fold 接受一个函数作为参数, 该函数接受类型分别为 R 与 T 的两个参数并返回一个 R 类型的值。 在 for-循环内部调用该函数,然后将其返回值赋值给 accumulator。