【发布时间】:2020-07-18 09:14:51
【问题描述】:
我需要从方法中获取和设置另一个类的属性,因此需要为 getter 和 setter 传入 lambda 的属性引用:
-
传入属性引用
otherInstance::property -
为 getter 传入一个 lambda,为 setter 传入一个:
{otherInstance.property} // getter{value -> otherInstance.property = value} // setter
我喜欢第一个,因为对我来说代码更容易阅读且更短,但是当我在 official documentation 上看到它时,我的警钟会响起,因为“反射”一词。我对 Java 的了解是,反射通常不是一件好事。这对 Kotlin 也有效吗?在这种情况下有效吗?两种方式中的一种(属性引用或 lambda)是否更高效或更安全?
【问题讨论】:
标签: kotlin lambda reflection properties