[英]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.