Java styles
Different flavours of Java
- Mutable/OOP (DI) vs. Immutable/functional
- final vs. non-final (Lombok’s val)
- DI service vs. @Utility
- null vs. Optional
- Generics actively vs. passively
- Type inference
- Checked exception vs. RuntimeException
- @SneakyThrows
- With or without Lombok
- @Data, @Builder
- Traits: Interfaces with default implementation
- Statements (for, break, continue) vs. methods (forEach/map, findFirst, filter)
- JDK 7, 8, 11, 16