在本講座中,我們講解什麼是閉包以及它在 Java 中如何運作:Lambda 與匿名類別如何「捕捉」外部變數,為什麼區域變數必須是
final 或有效 final,捕捉區域變數與存取類別欄位有何不同,以及
this 在 Lambda 與匿名類別中的行為。我們會示範搭配
IntSupplier 的函式工廠,剖析捕捉的內部實作並說明常見錯誤(例如編譯器訊息
Variable used in lambda expression should be final or effectively final)。