Top 5 Use-Cases For Nested Types

There has been an interesting discussion on reddit, the other day Static Inner Classes. When is it too much? First, let's review a little bit of basic historic Java knowledge. Java-the-language offers four levels of nesting classes, and by "Java-the-language", I mean that these constructs are mere "syntax sugar". They don't exist in the JVM, … Continue reading Top 5 Use-Cases For Nested Types

Don’t be “Clever”: The Double Curly Braces Anti Pattern

From time to time, I find someone using the double curly braces anti pattern (also called double brace initialisation) in the wild. This time on Stack Overflow: Map source = new HashMap(){{ put("firstName", "John"); put("lastName", "Smith"); put("organizations", new HashMap(){{ put("0", new HashMap(){{ put("id", "1234"); }}); put("abc", new HashMap(){{ put("id", "5678"); }}); }}); }}; In case … Continue reading Don’t be “Clever”: The Double Curly Braces Anti Pattern