假设我有一个名为Superstar
的类型。现在,我想拥有一种可以完成一些工作并编辑Superstar
对象的某些属性的方法。
这是我实现该方法的两种方法。方法1如下:
private Superstar editSuperstar(Superstar superstar){
....
superstar.setEdited(true);
return superstar;
}
...
superstar = editSuperstar(superstar);
而方式2就是这样的:
private void editSuperstar(Superstar superstar){
....
superstar.setEdited(true);
}
...
editSuperstar(superstar);
这两种可能的方式中的哪一种被认为是“最佳实践”?第一个,还是第二个伪“通过引用”?
最佳答案
在您的情况下,第二种形式更可取,因为您可以直接更改其中一个 super 明星属性(edited
)。但是,如果您有一个使用 super 明星对象并返回其更新版本(而不更改其初始版本)的方法,则第一种形式将对我有利。
最后,由于这两个示例都只使用Superstar对象,因此它们应该是Superstar类的成员方法。
关于java - 好的做法是编辑对象 "by reference"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3253579/