new PrintWriter(ExampleStream).print("Just Something");
一樣
PrintWriter pw = new PrintWriter(ExampleStream);
pw.print("Just Something");
pw.close();
於是將PrintWriter的接近?
new PrintWriter(ExampleStream).print("Just Something");
一樣
PrintWriter pw = new PrintWriter(ExampleStream);
pw.print("Just Something");
pw.close();
於是將PrintWriter的接近?
第
從技術上講,Java中的匿名一詞指的是創建一個沒有名稱的本地類。你所做的只是創建一個類的實例,而不將它分配給一個變量。
不,他們都是不一樣的情況下
在你的第二個例子,問題PrintWritter將得到立即關閉的那一刻pw.close()將得到執行。而
在您的問題的第一個例子中,printwriter不會立即關閉。在調用 - >新的PrintWriter(ExampleStream).print() 之後,因爲您沒有任何對其對象的引用,因此您不能再次使用同一個對象,這意味着它有資格被垃圾收集器刪除。因爲我們不能說什麼時候垃圾回收器會運行,這就是爲什麼當這個對象被刪除時沒有把握。要記住的另一個重要的事情是,儘管這個對象可能被垃圾收集器清除,但是這個過程與pw.close()不一樣(
爲什麼你認爲它會呢? – Tunaki
可能是因爲AutoCloseable?我不太確定這個接口是幹什麼的。 – nickkoro
該接口對try-with-resources語句很有用。看到這裏https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html – Tunaki