java - 传递一个对象,在另一个类中将其设置为 void,还是在 java 中返回该对象是更好的做法?
问题描述
我知道引用了 java 对象,因此即使通过了不同的类/方法来更新模型也会更新原始对象。
但我只是想知道将它传回去是否更好,或者只是用不同的方法将它更新为无效?
更新而不回传:
class MyModel () {
private int myValue = 0;
// getter setter
}
class MyProcessor() {
MyModel newModel = new MyModel();
doSomething(newModel);
newModel = //do more porcessing
}
public void doSomething(MyModel newModel) {
newValue = //do some processing, and get a new value
newModel.setMyValue(newValue);
}
或者
更新和回传:
class MyModel () {
private int myValue = 0;
// getter setter
}
class MyProcessor() {
MyModel newModel = new MyModel();
newModel = doSomething(newModel);
newModel = //do more porcessing
}
public MyModel doSomething(MyModel newModel) {
newValue = //do some processing, and get a new value
newModel.setMyValue(newValue);
return newModel;
}
如果我的理解是正确的,那是完全一样的,但是最好的做法是什么?
解决方案
推荐阅读
- python - Django 用户注册认证问题
- typescript - 如何在 d3.js 中为上下文菜单的创建和删除添加过渡?
- c# - 为什么对象的值会发生变化,即使它有不同的引用?
- c# - 根据规范监听事件并调用回调?
- oracle - 在 SQL 查询的最后一行显示最后一列的平均值
- google-cloud-dataflow - Google Dataflow API 按作业名称过滤
- google-cloud-storage - Cloud Composer 气流动态 DAG 中的“Dag 似乎丢失”错误
- asp.net-core - 当方法没有在 Asp.NET Core 3.0 API 控制器中使用 Authorize 修饰时,User.Identity.Name 为空,JWT
- excel - 如何引用列表然后自动生成数字以在 Google 表格或 Excel 中形成项目标识标签?
- python - 从外部文件读入 Python 代码/正则表达式