Sobes.tech
Junior

Wat is de Lombok-bibliotheek?

sobes.tech AI

Antwoord van AI

Lombok is een Java-bibliotheek die met behulp van annotaties automatisch sjablooncode (getters, setters, equals, hashCode, toString, constructors, enz.) genereert, waardoor de hoeveelheid code wordt verminderd en deze beter leesbaar wordt.

Belangrijkste annotaties:

  • @Getter / @Setter: genereren getters en setters.
  • @ToString: genereert de toString-methode.
  • @EqualsAndHashCode: genereert de equals en hashCode-methoden.
  • @NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor: genereren verschillende soorten constructors.
  • @Data: combineert @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode.
  • @Builder: biedt een fluïde API voor het maken van objecten.

Voorbeeld van gebruik:

// Lombok imports
import lombok.Data;
import lombok.Builder;

// De annotatie @Data genereert getters, setters,
// constructor met verplichte argumenten, en methods toString, equals en hashCode.
@Data
// De annotatie @Builder maakt gebruik van het Builder-patroon om objecten te maken.
@Builder
public class User {

    private Long id;
    private String name;
    private int age;

    // Lombok genereert automatisch:
    // getId(), setId(Long id)
    // getName(), setName(String name)
    // getAge(), setAge(int age)
    // constructor(Long id, String name, int age) - als alle velden final zijn, of als @RequiredArgsConstructor wordt gebruikt met final velden
    // toString()
    // equals()
    // hashCode()

    // Voorbeeld van gebruik van Builder:
    // User user = User.builder()
    //                .id(1L)
    //                .name("Alice")
    //                .age(30)
    //                .build();
}

Voordelen:

  • Verkorting van de code.
  • Verbeterde leesbaarheid.
  • Vermindering van de kans op fouten bij het schrijven van sjablooncode.

Nadelen:

  • Vereist integratie met IDE.
  • Kan het debuggen bemoeilijken, omdat de gegenereerde code niet direct zichtbaar is.