草庐IT

Getters-Setter

全部标签

kotlin - 如何在 Kotlin 类构造函数主体中使用自定义 setter

我找不到更好的标题来描述如何在这个Kotlin类中避免代码重复(需要表达式):classPerson(email:String){varemail:String=emailset(value){require(value.trim().isNotEmpty(),{"Theemailcannotbeblank"})field=value}init{require(email.trim().isNotEmpty(),{"Theemailcannotbeblank"})}}在java中,我会有一个带有名称验证的setter,然后我会从构造函数中调用它。在Kotlin中这样做的惯用方式是什么?

android - 实时数据和 2-Way 数据绑定(bind) : Custom setter not being called

我正在使用2路数据绑定(bind)来更新我的ViewModel中的LiveDataString对象,并在EditText中设置了一个字符串:因此,据我了解,每次EditText中的文本更改时,ViewModel都会更新其liveReviewTitle属性。我认为这是通过使用TextWatcher或图书馆为我处理的某种监听机制而发生的。我还认为,当需要更新文本时,会调用它的setter。似乎并非如此!当文本发生变化时,我需要在我的ViewModel中做更多的事情,因此我为liveReviewTitle实现了一个自定义setter,但它没有被调用(我试过调试)。这是ViewModel类中的

android - 在数据绑定(bind)中找不到属性的 setter

我在我的应用程序中使用LiveData、DataBinding和Kotlin。我为RecyclerView定义了一个绑定(bind)适配器,如下所示:classMainListBindings{privatevalTAG="TasksListBindings"companionobject{@JvmStatic@SuppressWarnings("unchecked")@BindingAdapter("main_items")funsetItems(recyclerView:RecyclerView,items:MutableLiveData>?=null){valadapter:Re

Kotlin - 了解 Getter 和 Setter

Kotlin自动生成它的getter和设置,但我从不引用它们?另外,在Kotlin中编写自定义getter/setter的正确方法是什么?当我说myObj.myVar=99时,我觉得myVar是我直接访问的myObj的公共(public)字段?这里到底发生了什么? 最佳答案 这已经在几个地方得到了回答,但我想我会为从Java/C#/C/C++过渡到Kotlin的人分享一个具体的例子,并且他们有同样的问题:我很难理解getter和setter在Kotlin中是如何工作的,尤其是因为它们从未被明确地调用过(就像在Java中一样)。因此,

java - Kotlin 属性的私有(private) getter 和 public setter

如何在Kotlin中创建一个具有私有(private)getter(或没有它)但具有公共(public)setter的属性?varstatusprivateget不起作用并出现错误:Getter可见性必须与属性可见性相同就我而言,原因是Java互操作:我希望我的Java代码能够调用setStatus但不能调用getStatus。 最佳答案 目前在Kotlin中不可能有一个带有比该属性更可见的setter的属性。问题跟踪器中有一个语言设计问题,请随时观看/投票或分享您的用例:https://youtrack.jetbrains.com

node.js - 用于规范化数据的 Mongoose getter/setter

我有User架构,其中有一个username字段。我希望这个字段区分大小写,以便用户可以注册诸如BobDylan之类的名称。但是,我需要我的架构来验证新条目以检查是否有重复的、区分大小写的,例如bobdylan。我的研究告诉我,我应该在架构中创建一个额外的字段来存储小写/大写版本,以便我可以轻松检查它是否是唯一的。我的问题是,我将如何使用MongooseAPI实现这一目标?我尝试过使用set函数,比如:UserSchema.path('username_lower_case').set(function(username_lower_case){returnthis.username.

c++ - getter 和 setter 风格

(抛开你是否应该拥有它们的问题。)我一直倾向于只使用函数重载来为getter和setter提供相同的名称。intrate(){return_rate;}voidrate(intvalue){_rate=value;}//insteadofintgetRate(){return_rate;}voidsetRate(intvalue){_rate=value;}//mainlybecauseitallowsmetowritethemuchcleanertotal(period()*rate());//insteadofsetTotal(getPeriod()*getRate());当然我是

c++ - 使用 QTCreator 自动生成 setter / getter ?

尽管进行了一些搜索,但我还是找不到使用QTCreator2.3.1为C++类自动生成getter和setter的方法。你们知道有什么方法吗? 最佳答案 右键点击你的成员然后Refactor然后GenerateGetterandSettermemberfunction你就完成了:)在QtCreator3.2.x上,创建成员,然后单击它并按alt+Enter: 关于c++-使用QTCreator自动生成setter/getter?,我们在StackOverflow上找到一个类似的问题:

c++ - 使用 getter/setter vs "tell, don' t 问“?

告诉,不问原则here当我使用getter或setter时,通常会粘贴到我身上,人们告诉我不要使用它们。该网站清楚地解释了我应该做什么和不应该做什么,但它并没有真正解释为什么我应该告诉而不是询问。我发现使用getter和setter效率更高,而且我可以用它们做更多事情。想象一个具有health和armor属性的类Warrior:classWarrior{unsignedintm_health;unsignedintm_armor;};现在有人用特殊攻击攻击我的战士,降低他的护甲5秒。使用setter会是这样的:voidAttacker::attack(Warrior*target){t

java - getter 和 setter 会影响 C++/D/Java 中的性能吗?

这是一个相当古老的话题:setter和getter是好是坏?我的问题是:编译器在C++/D/Java内联getter和setter?与直接字段访问相比,getter/setter对性能(函数调用、堆栈帧)的影响程度。除了使用它们的所有其他原因之外,我想知道它们是否会影响性能,除了是一种良好的OOP实践。 最佳答案 这取决于。没有永远正确的通用答案。在Java中,JIT编译器可能会迟早内联它。据我所知,JVMJIT编译器只优化大量使用的代码,因此您最初可以看到函数调用开销,直到getter/setter被足够频繁地调用。在C++中,它