加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 匿名变量(?)的优点?

发布时间:2020-12-14 05:58:04 所属栏目:Java 来源:网络整理
导读:我想知道昨天有一件事突然袭入我的脑海. 我提前为这个误导性的标题道歉,但我真的不知道如何获得这个权利. 好吧,假设我们是两个对象ObjA和ObjB,例如,ObjB有一个方法,它将ObjA对象作为参数. 我们可以这样做(以java为语言): ObjA instanceA = new ObjA();ObjB
我想知道昨天有一件事突然袭入我的脑海.
我提前为这个误导性的标题道歉,但我真的不知道如何获得这个权利.
好吧,假设我们是两个对象ObjA和ObjB,例如,ObjB有一个方法,它将ObjA对象作为参数.

我们可以这样做(以java为语言):

ObjA instanceA = new ObjA();
ObjB instanceB = new ObjB();

instanceB.method(instanceA);

要么

new ObjB().method(new ObjA());

假设这是某个函数的主体,因此当超出范围时,对象将被销毁.
我的问题是:
通过不实例化单个对象并隐式调用第二个代码,我们是否获得了性能优势?这种可读性牺牲是否值得?或者它是否一无所有,因为隐式创建的对象将存储在内存中并且仍然按范围死亡?

注意:我不知道我是说“隐含”还是“匿名”,但我在谷歌上找不到多少.

解决方法

绝对没有性能明显的区别.

但在少数情况下,您将被迫使用第一种类型.

例如:

ObjA instanceA = new ObjA();
// Do something with instanceA
instanceB.method(instanceA);

如果你在中间没什么可做的,我可以用第二种方法来保存一行代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读