web-dev-qa-db-fra.com

Java Lombok: Omettre un champ dans @AllArgsConstructor?

Si je spécifie @ AllArgsConstructor en utilisant Lombok, cela générera un constructeur pour définir tous les éléments déclarés (pas final, pas statique) des champs. Est-il possible d'omettre certains champs et ce constructeur généré par congé pour tous les autres champs?

47
user3656823

Non, ce n'est pas possible. Il existe une demande de fonctionnalité pour créer un @SomeArgsConstructor où vous pouvez spécifier une liste de champs impliqués.

Divulgation complète: je suis l'un des principaux développeurs de Project Lombok.

68
Roel Spilker

Vous pouvez également utiliser @RequiredArgsConstructor. Cela ajoute un constructeur pour tous les champs qui sont soit @NonNull ou final.

Voir documentation

46
dermoritz

Dans certains cas, un bon moyen de contourner ce problème serait d'utiliser @Builder

1
enkara