Volatile 單例
// For Singleton instantiation
@Volatile private var instance: String? = null
synchronized 同步鎖
instance ?: synchronized(this) {
instance ?: ""
}
:: 的函數使用
fun test(){
val numbers = listOf(1, 2, 3)
println(numbers.filter(::isOdd)) //
println(numbers.filter { isOdd(it) }) //
println(numbers.filter { isOdd(x = it) })
}
fun isOdd(x: Int) = x % 2 != 0
這裏的 isOdd 不需要在同一個類中
還有這種騷操作?
fun test(){
val get = ::isEmptyStringList.get()
get.invoke(numbers)
//簡化後 不加::還調不動
::isEmptyStringList.get().invoke(numbers)
}
val isEmptyStringList: List<Int>.() -> Boolean = List<Int>::isEmpty
:: Gson 解析
data class LoginInfo(id,name,user,loginName)
val (_,id, _, loginName)
= Gson().fromJson(“”,LoginInfo::class.java) as LoginInfo