我对java很新。我有一个简单的问题。
public Object getObject() {
//`do something that results to an Object`
return object;
}
第一
Object object1 = new Object();
object1 = getObject();
第二
Object object1 = getObject();
两者有什么区别?哪个更好用?
答案 0 :(得分:0)
他们返回同样的东西(在第一个例子的第一行添加&#34 ;;" P)。
答案 1 :(得分:0)
不同之处在于,在第一种情况下,当你用getObject()的结果替换它时,你首先要创建一个新的Object并立即将它扔到下一行。
如果稍微修改它,您会发现这两个对象是不同的实例。
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函数真的不会给你买任何东西。