草庐IT

Getter-Setter

全部标签

kotlin - 当我们有属性 setter 时, `Delegates.observable` 的用例是什么?

当我们只能使用属性setter时,Delegates.observable的用例是什么?varfoobyDelegates.observable("hell0"){prop,old,new->//reacttochangesinfoo}varbar="hello"set(value){field=value//reacttochangesinbar//wecanalsodovalidation,setsomethinglike`value*2`tofield,etc.} 最佳答案 如果您希望多个属性以相同的方式对修改使用react,

Kotlin:具有多个不同类型 setter 的单个属性

我正在尝试构建一个具有LocalDate类型属性的类,该类具有接受不同类型的setter:LocalDate或String.LocalDate的情况下,直接赋值,String的情况下,解析然后赋值。在Java中,我只需要实现两个重载的setter来处理上述两种情况。但我不知道如何在Kotlin中处理它。我试过这个:classSomeExampleClass(var_date:LocalDate){vardate=_dateset(value){when(value){isLocalDate->valueisString->LocalDate.parse(value)}}}它无法编译。我

Kotlin:具有多个不同类型 setter 的单个属性

我正在尝试构建一个具有LocalDate类型属性的类,该类具有接受不同类型的setter:LocalDate或String.LocalDate的情况下,直接赋值,String的情况下,解析然后赋值。在Java中,我只需要实现两个重载的setter来处理上述两种情况。但我不知道如何在Kotlin中处理它。我试过这个:classSomeExampleClass(var_date:LocalDate){vardate=_dateset(value){when(value){isLocalDate->valueisString->LocalDate.parse(value)}}}它无法编译。我

php - Magento 的 magic setter 只更新了一些数据库列

我有一个自定义的mysql表,我们将调用module_identifiers,在我的模块中有一个对应的模型称为Identifiers。这是我的设置脚本:$installer=$this;$installer->startSetup();$installer->run("CREATETABLE`{$installer->getTable('module_identifiers')}`(`module_identifier_id`int(11)NOTNULLAUTO_INCREMENT,`identifier`varchar(255)NOTNULL,`customer_id`int(11)

android - Kotlin:使用自定义 setter 时没有lateinit的解决方法?

在我的Activity中,我有一个不可为空的字段并且有一个自定义setter。我想在我的onCreate方法中初始化该字段,所以我将lateinit添加到我的变量声明中。但是,显然你不能这样做(目前):https://discuss.kotlinlang.org/t/lateinit-modifier-is-not-allowed-on-custom-setter/1999.这些是我可以看到的解决方法:以Java方式进行。使该字段可以为空,并将其初始化为空。我不想那样做。使用类型的“默认实例”初始化字段。这就是我目前所做的。但这对于某些类型来说太贵了。有人可以推荐一种更好的方法(不涉及

android - Kotlin:使用自定义 setter 时没有lateinit的解决方法?

在我的Activity中,我有一个不可为空的字段并且有一个自定义setter。我想在我的onCreate方法中初始化该字段,所以我将lateinit添加到我的变量声明中。但是,显然你不能这样做(目前):https://discuss.kotlinlang.org/t/lateinit-modifier-is-not-allowed-on-custom-setter/1999.这些是我可以看到的解决方法:以Java方式进行。使该字段可以为空,并将其初始化为空。我不想那样做。使用类型的“默认实例”初始化字段。这就是我目前所做的。但这对于某些类型来说太贵了。有人可以推荐一种更好的方法(不涉及

java - Hibernate - IllegalArgumentException 在调用模型的 getter 时发生

我的hibernate模型出现了这个错误,我不知道出了什么问题。标签.java:@Entity@Table(name="tag")publicclassTagimplementsjava.io.Serializable{privateIntegeridTag;privateStringname;privateSetquestions=newHashSet(0);@Id@GeneratedValue(strategy=IDENTITY)@Column(name="idtag",unique=true,nullable=false)publicIntegergetIdTag(){retur

objective-c - objective-c 中的所有属性的 setter/getter 都一样吗?

这个简单的问题困扰着我。setter/getter是否相同@property(nonatomic,retain)NSString*name@property(nonatomic,copy)NSString*name-(NSString*)name{returnname;} 最佳答案 根据documentationApropertydeclaration,however,providesadditionalinformationabouthowtheaccessormethodsareimplemented(asdescribedin

java - Smartcast 是不可能的,因为属性有开放的或自定义的 getter

我正在学习Kotlin。我的代码如下:overridefunonViewCreated(view:View?,savedInstanceState:Bundle?){super.onViewCreated(view,savedInstanceState)decoupler.attachNotifier(this)if(activityisScreenRouter){decoupler.attachRouter(activity)}}attachRouter()方法:funattachRouter(router:ScreenRouter?){this.router=router}如doc

java - Smartcast 是不可能的,因为属性有开放的或自定义的 getter

我正在学习Kotlin。我的代码如下:overridefunonViewCreated(view:View?,savedInstanceState:Bundle?){super.onViewCreated(view,savedInstanceState)decoupler.attachNotifier(this)if(activityisScreenRouter){decoupler.attachRouter(activity)}}attachRouter()方法:funattachRouter(router:ScreenRouter?){this.router=router}如doc