Builder Design Pattern in Java

Builder Design Pattern implies an alternative way to construct complex objects. This should be used only when you want to build different immutable objects using the same object building process.

Existing implementations of Builder Design Pattern in JDK

All implementations of java.lang.Appendable are infact good example of use of Builder pattern in java. e.g.

java.lang.StringBuilder#append() [Unsynchronized class]

java.lang.StringBuffer#append() [Synchronized class]

java.nio.ByteBuffer#put() (also on CharBuffer, ShortBuffer, IntBuffer, LongBuffer, FloatBuffer and DoubleBuffer)

public class BuilderPatternInString { public static void main(String[] args) { System.out.println("Hello World"); StringBuilder builder = new StringBuilder("Hello"); String data = builder.append(1).append(true).append(" ").append("world").append(" ").append("Welcome!!!").toString(); System.out.println(data); } } output: Hello1true world Welcome!!!

Post/Questions related to Builder Design Pattern in Java


How to use a builder pattern in java?
How to use Lombok builder in java?

In this article, we have seen the Builder Design Pattern in Java with Examples. All source code in the article can be found in the GitHub repository.