草庐IT

Getter-Setter

全部标签

java - 在 getter 链之后安全地调用 setter,例如 foo.getX().getY().setZ(...);

如何在getter链之后安全地调用setter,例如foo.getX().getY().setZ(...);?例如,假设我有一个嵌套的POJO,我希望能够设置一个嵌套对象的字段。Foofoo=...foo.getX().getY().setZ(...);我希望行为是这样的,如果X和Y不存在,那么它们会自动创建;否则它会重用现有对象。换句话说,我希望它的行为等同于Foofoo=...Xx=foo.getX();if(x==null){x=newX();foo.setX(x);}Yy=x.getY();if(y==null){y=newY();x.setY(y);}y.setZ(...);

java - 在 Eclipse 中仅自动创建 getter

在Eclipse中是否可以为字段自动创建Getters和Setters。但是我有很多私有(private)领域,只有setter/getter应该存在。Eclipse中的某处是否有一个不创建setter的“createGetters”函数?好吧,编写getter并没有那么多工作,但是自动完成它会很好:)谢谢,勒拉德 最佳答案 在GenerateSettersandGetters屏幕上,右侧有Selectgetters按钮-使用它。 关于java-在Eclipse中仅自动创建getter,

根据命名约定返回 Boolean 类的 getter 的 Java 名称

我注意到对于返回Boolean(不是boolean!)的getter,netbeans生成带有“get”前缀的getter。例如:privateBooleanmain;publicBooleangetMain(){returnthis.main;}这是错误的吗(根据命名约定)?或者"is"前缀仅适用于原始类型? 最佳答案 这是来自实际JavaBeansspecificationdocument的引述:8.3.2BooleanpropertiesInaddition,forbooleanproperties,weallowagette

java - JAXB 在解码对象时不调用 setter

我正在使用JAXB2.0JDK6将XML实例解码为POJO。为了添加一些自定义验证,我在属性的setter中插入了一个验证调用,但尽管它是私有(private)的,但似乎解码器并没有调用setter,而是直接修改了私有(private)字段。对我来说至关重要的是,每次解码调用都会针对此特定字段进行自定义验证。我该怎么办?代码:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="LegalParams",propOrder={"value"})publicclassLegalParams{privatestaticfinalLogger

java - 何时使用 JavaFX 属性 setter 和 getter,而不是直接使用属性

熟悉Java,但刚开始学习JavaFX,专门学习JavaFX属性。我了解基本的设计模式,如以下Oracle示例所示:packagepropertydemo;importjavafx.beans.property.DoubleProperty;importjavafx.beans.property.SimpleDoubleProperty;classBill{//DefineavariabletostorethepropertyprivateDoublePropertyamountDue=newSimpleDoubleProperty();//Defineagetterforthepro

java - 如何在 Stream 链中调用 setter

如何在不使用forEach()的情况下调用Stream链中的setter?ListnewFoos=foos.stream().filter(foo->Foo::isBlue).map(foo->foo.setTitle("Somevalue"))//IamunabletousethisbecausealsochangingthedatatypeintoObject.collect(Collectors.toList()); 最佳答案 像这样使用peek方法。它不影响流。ListnewFoos=foos.stream().filter

java - 从 Play 中生成的 getter 和 setter 中获益!框架

Play!frameworkgeneratesgettersandsetters对于模型类的每个公共(public)字段在运行时。publicclassProduct{publicStringname;publicIntegerprice;}将转化为publicclassProduct{publicStringname;publicIntegerprice;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicIntegergetPrice(){returnprice;

java - 为什么 java 收集流对每个 getter 运行两次?

我有一个包含项目的列表,其中每个项目都是一个具有我感兴趣的getter方法的对象。我想遍历整个列表以总结所有这些getter结果。当我使用java8流时,它看起来像这样:doublecurrentProduction=itemList.stream().collect(Collectors.summingDouble((e)->e.getProduction(param)));在普通的旧java中,它看起来像这样:for(Itemitem:itemList){currentProduction+=item.getProduction(param);}这两种方法产生完全相同的结果,但我的

java - Spring Bean 属性 'xxx' 不可写或具有无效的 setter 方法

我是一个Spring新手,有一个看似简单的Spring问题。我为此工作了几个小时,但运气不佳。这是异常,后面是代码(提前致谢):Exceptioninthread"main"org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'graphiteWriterSession'definedinfile[/home/user/resources/jmxtrans.graphite.xml]:Errorsettingpropertyvalues;nestedexceptionisorg

java - HIbernate映射异常: PropertyNotFoundException: Could not find a setter

我有两个POJO,STOCK和STOCK_DETAILS(一对多关系)。我还有一个接口(interface)IAUDITLOG(有两种方法)。我需要用两个POJO来实现这个接口(interface),并且想在这些方法中编写一些实现。但是当我用子类“STOCKDETAILS”实现IAUDITLOG接口(interface)时,它会给出异常“你应该有setter属性”股票类别:@Entity@Table(name="stock")publicclassStockimplementsjava.io.Serializable,IAuditLog{@Id@GeneratedValue(strat