Tag: getter

setter的Lambda表达式

我们可以使用lambda表达式获取getter,如下所示 Function studentNameGetter = Student::getName; 如何为setter创建lambda表达式?

Java在for循环中使用getter还是创建局部变量?

我有一个运行4096次的for循环,它应该尽可能快。 性能在这里非常重要。 目前我在循环中使用getter方法,它只返回在循环进行时不会改变的字段中的值或对象。 例: for (;;) { doSomething(example.getValue()); } 使用getter是否有任何开销? 使用以下方式更快吗? 例: Object object = example.getValue(); for (;;) { doSomething(object); } 如果是,那么访问example.value等公共字段是否也是如此? 编辑:我不在循环中使用System.out.println() 。 编辑:某些字段不是final字段。 没有字段是volatile ,也没有synchronized方法(getter)。

如何从存储在arraylist中的对象中提取字段?

我可以获得一些可以分开的工作代码示例并研究它们的工作原理吗? 具体来说,我需要弄清楚如何从列表中的x编号对象获取地址字段? 如何从列表中删除第x个对象? 如何将对象x的价格字段设置为新值? 我理解houseList.add如何将数据放入附加到列表末尾的新对象,但我不理解它的反面以及如何定位特定对象并对其进行操作。 请展示一个有效的多类示例。 谢谢! 创建House对象的类,它包含以下信息; public House(int address, String street, double price, int rooms) { this.address = address; this.street = street; this.price = price; this.rooms = rooms; } 它有以下方法…… public void SetAddress (int address){ setAddress(address); } private void setAddress (int address){ this.address = address; } public int GetAddress (int address){ address = […]

如何避免具有许多实例变量的类中的getter / setter

我会尽量保持简短。 我有许多实例变量(30+)的类,因此有很多getter / setter。 这些类本身很简单,但是由于getter / setter,LOC刚刚爆炸(并且还有太多的代码欺骗性)。 所以我删除了属性并将它们存储在地图中,就像这样 public class MyTechnicalToolClassX { //…constructor private Map data; public Object getAttributeByKey(AttributeKey key) { // …doStuff, check data associated with key, etc // if (predicate == true) return otherData; return data.get(key.toString()); } public void setAttributeByKey(AttributeKey key, Object value) throws IllegalArgumentException { if(key.getType().isInstance(value)) { data.put(key.toString(), value); } else { […]

Java中的getter / setter

我是Java新手,但对ActionScript 3有一些OOP经验,所以我试图依靠我所知道的东西进行迁移。 在ActionScript 3中,您可以使用get和set关键字创建getter和setter,这意味着您在类中创建方法并通过该类的实例的属性访问数据。 我可能听起来很复杂,但事实并非如此。 这是一个例子: class Dummy{ private var _name:String; public function Dummy(name:String=null){ this._name = name; } //getter public function get name():String{ return _name; } //setter public function set name(value:String):void{ //do some validation if necessary _name = value; } } 我会在对象中访问name : var dummy:Dummy = new Dummy(“fred”); trace(dummy.name);//prints: fred dummy.name = “lolo”;//setter trace(dummy.name);//getter 我怎么用Java做到这一点? […]

:getXxx()被调用了很多次,为什么?

关于dataTable简单代码。 CentralFeed是SessionScoped Bean, PostComment是RequestScoped Bean 在CentralFeed.java private List profileComments = null; public List getProfileComments() { PhaseId currentPhaseId = FacesContext.getCurrentInstance().getCurrentPhaseId(); profileComments = scholarBean.findProfileCommentsByUserId(getSelectedUser().getId()); //model = new ListDataModel(profileComments); return profileComments; } 我的问题是getProfileComments()被调用很多。 currentPhaseId将告诉我们该方法被调用的阶段。 当页面首次加载时, getProfileComment会在第6阶段getProfileComment调用5次左右。 该页面有一个inputTextarea ,所以我输入了一些内容,然后单击Post (commandButton)。 然后通过阶段1-> 4再次调用getProfileComment 12次 。 每个阶段调用此方法3-4次 。 然后,属性newComment的setter方法得到调用(所以setNewComment()得到调用), getProfileComment在phase 5再次调用get。 然后postReply()得到调用,然后getProfileComment在phase 6再次调用5次 。 到底是怎么回事? 这是假设是这样的吗? 如果你看看我的getProfileComment ,通过我的EJB scholarBean ,我实际上是在查询数据库,所以不得不像这样查询数据库20次这是一个非常糟糕的主意。

Java:Setter Getter和构造函数

我对使用getter / setter和构造函数感到有点困惑(参见下面的代码示例) public class ExampleClass { private int value = 0; public ExampleClass () { value = 0; } public ExampleClass (int i) { this.value = i; } public int getValue() { return value; } public void setValue(int val) { this.value = val; } public static void main(String[] args) { ExampleClass example = new […]

公共财产VS带吸气剂的私人财产?

这个问题困扰了我一段时间。 可以直接进入的公共财产还是带有吸气剂的私人财产? 哪一个更好/更正,为什么?

封装和吸气剂

我正在读这篇关于为什么getter和setters是邪恶的文章。 文章并没有说永远不会使用它们,但是,它告诉你以限制这些方法的使用的方式思考,或引用文章: 不要求您提供完成工作所需的信息; 请询问有信息的对象为您完成工作。 当您需要在GUI中显示数据但没有getter方法时会发生什么? 本文简要介绍了这一点,但并未完全涵盖。 它提到将JComponent传递给类,但是如果你进行GUI更改,可能会导致很多工作需要修复。 举个例子,你有一个Book类(限制这个例子以保持它的可读性)。 public final class Book { private String title; //Authors is class with the attributes authorFirstname, authorLastname private List listofAuthors; public Book(String title, List listofAuthors) { //initialization } //other methods that do work } 如果我有一个具有JTextField以显示书名的GUI和一个显示作者列表的JTable ,我将如何编写我的方法来为我“完成工作”并显示结果? 这是否需要getter ?

如何在Java中封装数组

我从Java开始,我正在学习setter,getters和encapsulation。 我有一个非常简单的程序,两个类: Container有一个带有setter和getter的私有int数组( numArray )。 Main创建一个Container对象并在totalArray方法中使用它。 public class Container { private int numArray[]= {0,0,0}; public int[] getNumArray() { return numArray; } public void setNumArray(int index, int value){ numArray[index] = value; } } public class Main { public static void main(String[] args) { Container conte = new Container(); System.out.println(totalArray(conte.getNumArray())); conte.getNumArray()[2]++; System.out.println(totalArray(conte.getNumArray())); } private static int totalArray […]