草庐IT

getter-setter

全部标签

java - JAXB 注释在 getter、setter 和成员上的区别是什么?

标题说明了一切。我想知道在字段/getter/setter上放置JAXB注释(如@XmlElement)之间的主要区别是什么。在我看来(在简单的情况下)这无关紧要。例如让我们拿这个classA{privateStringa;publicStringgetA(){returna;}publicvoidsetA(Stringa){this.a=a;}}现在在我看来,将@XmlElement放在成员字段或getter/setter上并不重要。它只是编码好。当我需要有所作为并且重要时,是否有任何用例?当我去解码这个(xml回到A)时,JAXB具体做了什么?我正在使用JAXBMOXy实现谢谢

java - 在 Java 中使用 getter 方法将元素添加到 List 是一种不好的做法吗?

假设我在一个类中有一个privateArrayList或一个LinkedList,我永远不会为它分配新的引用,或者换句话说,这永远不会发生:myLinkedList=anotherLinkedList;这样我就不需要使用setMyLinkedList(anotherLinkedList)。但是!我需要向其中添加元素或从中删除元素。我是否应该编写一种新的setter来完成adding而不是setting的任务,比如myLinkedList.add(someElement)?或者在不违反封装原则的情况下,使用getter可以做到这一点吗?getMyLinkedList().add(some

java - Hibernate 无法实例化默认的 tuplizer - 找不到 getter

我正在尝试使用Hibernate来持久化一个如下所示的类:publicclassItemimplementsSerializable,Comparable{//ItemidprivateIntegerid;//DescriptionofitemininventoryprivateStringdescription;//Numberofitemsdescribedbythisinventoryitemprivateintcount;//CategoryitembelongstoprivateStringcategory;//DateitemwaspurchasedprivateGrego

java - Java POJO 是否应该在 setter 方法中进行字段验证和抛出异常?

假设我们有数十个代表我的域的JavaPOJO,即我在系统中的数据,它们作为对象在我的系统的不同层之间流动。该系统可以是一个网络应用程序,也可以是一个简单的桌面应用程序。域由什么组成并不重要。在设计我的系统时,我很困惑应该在哪里放置任何验证逻辑。我的POJO(域对象)代表我的数据,这些对象中的一些字段必须遵守特定的标准,但是如果我在我的setter方法中放置大量验证逻辑,那么告诉调用客户端的唯一方法是抛出异常。如果我不希望系统崩溃,则异常必须是必须捕获和处理的已检查异常。这样做的结果是,每次我使用setter方法(甚至构造函数)创建一个新对象时,我都会重新抛出该异常或使用try-catc

java - 在 Java 中继承流利的 setter

我最近看到一些使用这种语法的代码(amazonhadoop代码)Foobar=newFoo().setX(10).setY(11);我觉得这很好,所以我决定试一试。使我的setX()类型函数返回Foo而不是void并将returnthis;放入所有函数中。这很好用。直到我用继承来尝试它,它产生了一些奇怪的结果。我将举一个具体的例子:我有两个类,Location类有两个字段,x和y。另一个类Location3D继承自Location并添加了第三个字段z。所有字段都使用上面描述的方法作为它们的setter。现在我想创建一个新的location3D实例并设置它的字段,会发生什么newLoca

java - 为什么在不可变类中的 getter 中制作防御性副本?

这个问题是关于良好的编程实践和避免潜在的漏洞。我读了JoshuaBloch的EffectiveJava,我想知道的是:为什么我应该考虑在我的不可变类中的getter方法中制作防御性副本,其中没有修改器?第二:除了private之外,我为什么还要将我的字段设置为final?这仅与性能有关(与安全性无关)吗? 最佳答案 我相信这种情况可以证明这种说法:publicclassImmutable{privatefinalStringname;privateDatedateOfBirth;publicImmutable(Stringname,

java - @JsonIgnore 和@Getter 注解

我可以在不显式定义getter的情况下将@JsonIgnore与来自lombok的@Getter注释一起使用吗,因为我必须在序列化对象时使用此JsonIgnore,但在反序列化时,必须忽略JsonIgnore注释,因此我的对象中的字段不能是无效?@Getter@SetterpublicclassUser{privateuserName;@JsonIgnoreprivatepassword;}我知道,只要在password的getter上定义JsonIgnore,我就可以防止我的密码被序列化,但为此,我必须明确定义我不想要的getter。请有任何想法,我们将不胜感激。

Python 用列表装饰属性 setter

这个问题在这里已经有了答案:python:howtohaveapropertyandwithasetterfunctionthatdetectsallchangesthathappentothevalue(3个答案)关闭6年前。globalList=[]classMyList:def__init__(self):self._myList=[1,2,3]@propertydefmyList(self):returnself._myList+globalList@myList.setterdefmyList(self,val):self._myList=valmL1=MyList()pri

python - 如何在python中获取property的setter方法的属性

请考虑下面的代码classDataMember():def__init__(self,**args):self.default={"required":False,"type":"string","length":-1}self.default.update(args)def__call__(self,func):#HereIwanttosettheattributetomethodsetattr(func,"__dbattr__",self.default)defvalidate(obj,value):#someothercodefunc(obj,value)returnvalida

python - Django 模型字段。自定义字段值 setter

有没有办法在django自定义属性setter中做这样的事情?classMyModel(models.Model):myfield=models.CharField(length=250)@myfield.setterdefset_password(self,value):self.password=encrypt(value) 最佳答案 您将真正设置保存模型的值,因此最好重写save()方法(不要使用pre_save信号). 关于python-Django模型字段。自定义字段值sett