Using Lambda Expressions to Clean Up Resources

ARM was a good step in the right direction, but it’s not very effective—never trust anything with the word management in it, right? Just kidding. Anyone using our class has to figure out that it implements AutoCloseable and remember to use the try-with-resources construct. It’d be great if the API we design could guide the programmers and, with the compiler’s help, point them in the right direction. We can achieve that quite easily with lambda expressions.

Preparing the Class for Resource Cleanup

We’ll design a class, FileWriterEAM, that encapsulates heavy resources that need timely cleanup. In this example we’ll use the FileWriter to represent that resource. Let’s make both the constructor and the ...

Get Functional Programming in Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.