繁体   English   中英

在引用Java对象时,两者之间有什么区别?

[英]In referencing a java object, what is the difference between the two?

我是java的新手。 我有一个简单的问题。

public Object getObject() {

//`do something that results to an Object`

return object;

}

第一:

Object object1 = new Object();
object1 = getObject();

第二名:

Object object1 = getObject();

两者有什么区别? 哪个更好用?

它们返回相同的内容(将“;”添加到第一个示例的第一行:P)。

区别在于,在第一种情况下,您首先要制作一个新的Object,然后在用getObject()的结果替换它时立即将其丢弃在下一行。

如果稍加修改,您将看到两个对象是不同的实例。

Object object1 = new Object();
System.out.println(object1);
object1 = getObject();
System.out.println(object1);

运行该命令时,并不是说打印值不同。 这是因为有两个不同的值分配给object1。

这不是您要使用的模式。 您在这里所做的只是制作一个需要垃圾回收的对象。

我也不确定情况1是否有效。 它不会编译,因为object是一个未定义的变量。 您将需要更改它以return new Object(); 这样就定义了要返回的值。

真的,您只想说Object object = new Object(); 添加getObject函数实际上并没有买任何东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM