Pular para o conteúdo

cheat/moderno

Java moderno

Recursos que encolhem código cerimonial.

Consulta

Record — dados imutáveis

public record Ponto(int x, int y) {}

Gera construtor, acessores, equals, hashCode e toString. Substitui o POJO de 60 linhas.

Validar dentro do record

public record Idade(int valor) {
  public Idade {
    if (valor < 0) throw new IllegalArgumentException("negativa");
  }
}

Switch como expressão

String rotulo = switch (dia) {
  case SAB, DOM -> "fim de semana";
  default -> "útil";
};

Pattern matching

if (obj instanceof String s && !s.isBlank()) {
  System.out.println(s.strip());
}

Texto em bloco

String json = """
    { "nome": "Ana" }
    """;

Optional sem virar null disfarçado

return repo.buscar(id)
    .map(Pessoa::nome)
    .orElseThrow(() -> new NaoEncontrado(id));

Optional é para RETORNO. Como campo ou parâmetro só acrescenta uma camada de nulo.