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