kotlin
data class 声明的类 可以将类自动实现copy()/toString()函数
| == | 类似java中的equals() 值的比较 |
|---|---|
| === | 类似java中的== 地址值的比较 |
| ?:[默认值] | 类似ava if(a==null){a=[默认值]} |
| when | 类似java中的if条件语句 并且when操作可以有返回值 |
| in/foreach | 遍历操作符 |
| filter | 过滤操作符 |
| repeat([循环次数]) | 循环操作 |
| @JvmOverloads | 声明后在java中使用重载函数 |
| inline | 内联操作符 <br />将方法体赋给调用位置(可以减少方法出栈入栈)<br />一般使用在函数的传入参数类型为函数类型的方法上 |
| reified | 泛型类型T前增加 且方法前增加inline 可以使用T::class.java获取泛型class, 例如<br />public inline fun < reified T : Activity> Context. startActivity( val intent = Intent( this, T ::class .javaClass) startActivity(intent) } |
| by | 委托模式 获取变量只为委托对象 |
| lazy | 第一次使用时实例初始化 后续使用引用第一次加载的对象 |
在kotlin中 若方法返回参数为Bean对象 对象包含各种参数 若只需要其中几个参数 可以使用解构操作
val([参数1],[参数2],[参数3])=[方法名]()
通过方法返回对象解构直接获取属性值
抽象属性
val [变量] : T[泛型]
实现
override val [变量]:类型? by lazy{[实例化对象]}
by委托模式 lazy第一次使用时实例初始化
kotlin作用域 Standard.Kt代码中
1.apply{初始化}
2.let{初始化+返回值} //返回值自身
3.also{初始化+返回值} //返回值为调用的对象
4.run{初始化} //指代对象 this@run
5.with{初始化}