Java:从对象访问对象

时间:2017-04-13 17:51:39

标签: java

我有一个读取数据的对象:

DataReader dataReader = new DataReader();

反对阅读:

Data data = new Data();

我可以这样读取数据:

dataReader.read(data);

或者我可以将data传递给dataReader构造函数并在dataReader对象中读取它。

什么更有效?

如果read()方法实现的话会更好:

public void read(Data data) {
        this.readString(data);
        this.readString(data);
    }

方法readString(Data data)

private void readString(Data data) {
        data.nextLine();
    }

意思是,拥有一个本地数据对象并调用其方法或在java passes object by value not reference时作为方法参数多次传递它是否更好?什么工作得更快,消耗更少的内存?

1 个答案:

答案 0 :(得分:1)

我对你的问题的第二部分你的意思有点不确定,但如果你的意思是我的意思那么这应该回答它。

在构造函数或方法中调用方法完全取决于用法。对于这种情况,您是否会反复阅读这些数据?如果是,那么创建一个DataReader实例比为每次读取创建一个实例更有效,因此在一个实例上重复使用该方法会更有效。如果您只使用它一次,那么您不希望在完成后将无用的对象实例挂在内存中,因此创建临时实例并在构造函数中读取将更有效。

但正如评论所说,这些事情很少涉及优化问题并且影响不大。理论上它很有意思,但实际上除非必须这样做,否则不要担心它。