我正在Android应用程序中创建我的第一个Kotlin类.通常为了记录目的,我有一个名字常量TAG.我在Java中会做的是:
private static final String TAG = MyClass.class.getSimpleName();
Run Code Online (Sandbox Code Playgroud)
我知道在Kotlin课程中我可以TAG用这种方式创建:
private val TAG = MyClass::class.java.simpleName
Run Code Online (Sandbox Code Playgroud)
对于使用Java和Kotlin的项目来说这是可以的,但是如果我开始一个仅在Kotlin中的新项目呢?我如何定义那里TAG不变?还有更多的Kotlin方式我没有这种奇怪的结构class.java.simpleName吗?
由于属性的getter或setter通常不具有作为参数或reified类型的函数,使用inline属性的好处/用例是什么?
如果好处是降低与方法调用相关的成本,为什么不默认使所有属性getter/setter内联?
例如.
val foo: Foo
inline get() = Foo()
var bar: Bar
get() = ...
inline set(v) { ... }
Run Code Online (Sandbox Code Playgroud)