Builder

Run Settings
LanguageJava
Language Version
Run Command
class Data { public final int a; public final int b; public final int c; public Data(int a, int b, int c) { this.a = a; this.b = b; this.c = c; } @Override public String toString() { return "Data{a=" + a + ", b=" + b + ", c=" + c + '}'; } } class DataBuilder { private int a; private int b; private int c; public DataBuilder setA(int a) { this.a = a; return this; } public DataBuilder setB(int b) { this.b = b; return this; } public DataBuilder setC(int c) { this.c = c; return this; } public Data build() { return new Data(this.a, this.b, this.c); } } public class Main { public static void main(String[] args) { // один билдер на все приложение // он хранит состояние последнего объекта DataBuilder builder = new DataBuilder(); for (int i = 0; i < 3; i++) { builder.setA(i); for (int j = 0; j < 3; j++) { builder.setB(j); for (int k = 0; k < 3; k++) { builder.setC(k); // объект билдится прямо перед сохранением System.out.println(builder.build()); } } } } }
Editor Settings
Theme
Key bindings
Full width
Lines