Junior
Kas ir Lombok bibliotēka?
sobes.tech AI
Atbilde no AI
Lomboks ir Java bibliotēka, kas ar anotācijām ļauj automātiski ģenerēt šablona kodu (ģētus, seterus, equals, hashCode, toString, konstruktorus utt.), samazina koda apjomu un padara to lasāmāku.
Galvenās anotācijas:
@Getter / @Setter: ģenerē ģētus un seterus.@ToString: ģenerētoStringmetodi.@EqualsAndHashCode: ģenerēequalsunhashCodemetodes.@NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor: ģenerē dažādus konstruktorus.@Data: apvieno@Getter,@Setter,@RequiredArgsConstructor,@ToString,@EqualsAndHashCode.@Builder: nodrošina fluenty API objektu izveidei.
Piemērs lietošanai:
// Lombok importi
import lombok.Data;
import lombok.Builder;
// @Data anotācija ģenerē ģētus, seterus, obligātos konstruktorus, kā arī toString, equals un hashCode metodes.
@Data
// @Builder anotācija ļauj izmantot Builder dizaina paraugu objektu izveidei.
@Builder
public class User {
private Long id;
private String name;
private int age;
// Lombok automātiski ģenerēs:
// getId(), setId(Long id)
// getName(), setName(String name)
// getAge(), setAge(int age)
// konstruktoru(Long id, String name, int age) - ja visi lauki ir final vai ja tiek izmantots @RequiredArgsConstructor ar final laukiem
// toString()
// equals()
// hashCode()
// Builder lietošanas piemērs:
// User user = User.builder()
// .id(1L)
// .name("Alice")
// .age(30)
// .build();
}
Priekšrocības:
- Koda apjoma samazināšana.
- Labāka koda lasāmība.
- Samazina kļūdu iespējamību, rakstot šablona kodu.
Trūkumi:
- Nepieciešama IDE integrācija.
- Var atvieglot atkļūdošanu, jo ģenerētais kods nav tieši redzams.