用于在Android Studio中将方法参数指定给字段的Kotlin快捷方式
在androidstudio中,当我在处理Java类时,我按下Alt+Enter并将方法参数分配给类成员字段 但是,当我使用Kotlin时,没有对该功能的建议 我是否可以为此创建一个新建议,或者是否有任何方法将参数分配给字段 Java类建议: 科特林班级建议:用于在Android Studio中将方法参数指定给字段的Kotlin快捷方式,android,android-studio,kotlin,Android,Android Studio,Kotlin,在androidstudio中,当我在处理Java类时,我按下Alt+Enter并将方法参数分配给类成员字段 但是,当我使用Kotlin时,没有对该功能的建议 我是否可以为此创建一个新建议,或者是否有任何方法将参数分配给字段 Java类建议: 科特林班级建议: 在kotlin中,您不必编写setter方法来实现这一点,这可能就是您没有得到建议的原因 在您的示例中,如果您希望有一个包含getter和setter的authPresenter字段,则将其声明为var,kotlin提供了其余部分: c
在kotlin中,您不必编写setter方法来实现这一点,这可能就是您没有得到建议的原因 在您的示例中,如果您希望有一个包含getter和setter的
authPresenter
字段,则将其声明为var
,kotlin提供了其余部分:
class AuthenticationView(...) {
var authPresenter: AuthPresenter? = null
}
这为我们提供了一个可为空的AuthPresenter
。用惯用的方式来称呼它:
val view = AuthenticationView(...)
view.authPresenter = AuthPresenter(...)
在封面下,对.authPresenter=someObject
的调用被转换为setAuthPresenter(someObject)
如果要从Java调用此函数,您将看到为您自动生成的getAuthPresenter()
和setAuthPresenter()
简而言之:Kotlin没有这个选项的原因是因为有一种更惯用的方法来实现这一点。根据答案,不需要编写像java这样的setter/getter方法
如果我们想声明setter/getter,我们必须声明一个var
,并编写get()和set(value),如下所示:
class AuthenticationView(...) {
var authPresenter: AuthPresenter? = null
get() = field
set(value) {
field = value
....
}
我认为这是一个属性字段,我在中看到过类似的内容
C#
如果要设置或获取authPresenet,请执行以下操作:
//set
authenticationView.authPresenter = object
//get
object = authenticationView.authPresenter
我们可以在kotlin-like设置TextView
的文本或View
的背景中看到这样的代码