Java lacks a built-in way to define default arguments for methods and constructors. Over the years, several approaches have been proposed, each with its pros and cons. The most widely-known one uses method overloading, though varargs, null values, the builder pattern and even maps have been used as well. Here we propose a new approach based on functional constructs.
Please visit http://boundsofjava.com/newsletter/002-functional-default-arguments to read this newsletter.
Feel free to report issues, suggest improvements or leave any comment.
License is MIT.