Kotlin内联属性的用例是什么?
由于属性的getter或setter通常不具有作为参数或具体types的function,使用inline
属性的好处/用途是什么?
如果好处是减少与方法调用相关的成本,为什么不默认所有属性getter / setter内联?
Kotlin内联属性
例如。
val foo: Foo inline get() = Foo() var bar: Bar get() = ... inline set(v) { ... }
这里是内联属性的讨论 :
实体types参数示例:
inline val
T.nextSiblingOfSameType: T? get() = PsiTreeUtil.getNextSiblingOfType(this, T::class.java) 另一个用例是隐藏库的二进制接口的一些属性。 在Kotlin标准库中,与
@InlineOnly
注解一起,这可能使得将来可能会从类文件中排除这些属性的声明,从而减少方法数量,这对于Android的64K方法限制来说是最有利的。
- 用Maven减少为Kotlin配置编译环境的时间
- Lint认为Kotlin MutableMap.forEach()是java.util.Map.forEach()
- 如何区分绑定的可调用成员引用和kotlin中相同types的函数?
- 为什么公共课不能扩展私人课程?
- 在迭代kotlin时从列表中删除数据
- 在Instant App中应用插件“kotlin-android”会导致“null不能转换为非空types的com.android.build.gradleBasePlugin”
- Kotlin的尺寸从6变为2?
- 如何使用Kotlin何时查找字符串是否为数字?
- UNRESOLVED_REFERENCE未解决的参考:isInitialized