我想知道昨天有一件事突然袭入我的脑海.
我提前为这个误导性的标题道歉,但我真的不知道如何获得这个权利.
好吧,假设我们是两个对象ObjA和ObjB,例如,ObjB有一个方法,它将ObjA对象作为参数.
我提前为这个误导性的标题道歉,但我真的不知道如何获得这个权利.
好吧,假设我们是两个对象ObjA和ObjB,例如,ObjB有一个方法,它将ObjA对象作为参数.
我们可以这样做(以java为语言):
ObjA instanceA = new ObjA(); ObjB instanceB = new ObjB(); instanceB.method(instanceA);
要么
new ObjB().method(new ObjA());
假设这是某个函数的主体,因此当超出范围时,对象将被销毁.
我的问题是:
通过不实例化单个对象并隐式调用第二个代码,我们是否获得了性能优势?这种可读性牺牲是否值得?或者它是否一无所有,因为隐式创建的对象将存储在内存中并且仍然按范围死亡?
注意:我不知道我是说“隐含”还是“匿名”,但我在谷歌上找不到多少.