jjzjj

java - 使用多个 getter 时使用 Try-Catch 而不是空检查

我的问题如下,我有一个很长的Getter,即,objectA.getObjectB().getObjectC().getObjectD().getObjectE().getName();由于“糟糕的”数据库/实体设计(有些东西比其他东西引入得晚),发生了getObjectB()、getObjectC()或getObjectD()可以返回NULL。通常我们一直使用空检查,但在这种情况下,我必须使用ObjectBb=objectA.getObjectB();if(b!=null){ObjectCc=b.getObjectC();if(c!=null){ObjectDd=c.getObjec

java - 通过 getter 和 setter 更新 pojo 的通用方法

假设我有一个带有不同类型的getter和setter的POJO。我想编写一些通用算法,用于基于仅通过lambda定义getter和setter将数据从一个更新到另一个。我正在尝试以这种方式创建它privatestaticfinalMap,BiConsumer>ACCESSORS=newHashMap,BiConsumer>(){{put(Entity::getAreaCode,Entity::setAreaCode);}});然后我遍历所有将目标实体应用于它们的条目,如果getter的结果不为空,那么我想为其他实体应用相应的setter。但它不会工作,因为Object不能转换为Stri

java - boolean (Boolean) - getter 是 vs get

看起来每个人都说正确的getter用于:原始boolean值->getter是对象boolean->getterget例子:publicclassTest{privatebooleanprimitive;privateBooleanobject;publicbooleanisPrimitive(){returnprimitive;}publicBooleangetObject(){returnobject;}//..}问题:是否有任何规范或文档表明这是正确的,并且这是为boolean值指定getter的方法?或者这只是一个普遍的假设?我问是因为例如wsimport为boolean对象生

Java 反射 : Invoking Setter and Getter method for collection type Object

我有两个不同的用户定义对象包.....1)ws.lender.dto(allObjectsexistsinthispackagearesourceside).2)copl.com.dto(allObjectsexistsinthispackagearedestinationside).两侧的对象层次结构和对象名称不同。我想按字段将源端对象复制到目标端对象字段或通过使用反射的getter和setter。例如源端对象packagews.lender.dto;@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="CustomerAddress

java - 检查方法链中的最后一个 getter 是否不为空

在代码中我们有很多链式方法,例如obj.getA().getB().getC().getD()。我想创建帮助程序类,它将检查方法getD()是否不为null,但在此之前我需要检查所有以前的getter。我可以这样做:try{obj.getA().getB().getC().getD();}catch(NullPointerExceptione){//somegetterisnull}或(这是“愚蠢的”)if(obj!null&&obj.getA()!=null&&obj.getA().getB()!=null&&...){obj.getA().getB().getC().getD();

java - 如何在 setter 在 Java 中工作时同步 getter

我有一个多线程应用程序,它使用一个提供列表的静态类。我希望静态类的getter可以自由工作(不相互同步)但是当setter工作时我希望所有getter都被锁定并等待setter的工作完成。我不想在一起调用setter/getter时锁定setter/getter,因为这会大大降低性能。Getter每天被调用1,000,000次,而setter每天只应该工作一次。 最佳答案 考虑使用java.util.concurrent.locks.ReadWriteLock实现,例如ReentrantReadWriteLock(参见javadoc

c# - C# 速记 getter 和 setter

C#中的Setters和Getters是如何实现封装的?说到这些setter和getter,我并不陌生,我有编程背景,特别是java。在Java中,你可以像这样使用setter和getterpublicclassPerson{privateStringfName;publicvoidsetName(StringsomeName){fName=someName;}publicStringgetName(){returnfName;}}publicclassTest{publicstaticvoidmain(String[]args){Personp=newPerson();p.setNa

java - 组合枚举并使用 getter 返回指定的枚举

假设我有两组不同的枚举:水果和蔬菜。publicstaticenumFruits{APPLE("Apple"),PEAR("Pear");//constructor//getName()...}publicstaticenumVegetables{CARROT("Carrot"),LETTUCE("Lettuce");//constructor//getName()...}我在JComboBox中显示所有这些。在有人选择了一些东西之后,我想使用一个getter方法来取回Enum。对于单个枚举,我会做类似的事情:publicstaticFruitsgetEnum(Stringname){

java - 在 Eclipse 中重命名 getter 和 setter。捷径?

这个问题在这里已经有了答案:Renamingaccessor/mutatormethodsinEclipse?(2个答案)关闭9年前。有人知道在我更改变量名称时重命名变量的getter和setter的方法吗?eclipse中的重命名功能非常有用,但是,当我需要重命名一些变量时,之后我需要手动固定getter和setter的名称。

java - 访问器方法性能和优化

我经常遇到重复使用/滥用Getter方法来获取某些值或将其作为方法参数传递的代码,例如:publicclassTest{publicvoidsomeMethod(){if(person.getName()!=null&&person.getName().equalsIgnoreCase("Einstein")){method1(person.getName());}method2(person.getName());method3(person.getName());method4(person.getName());}}我一般是这样编码的,如下:publicclassTest{pub