Bruker Lombok’s @ Getter for Boolean Fields
1. Introduksjon
Project Lombok er et populært bibliotek for å redusere Java kjeleplate.
I denne raske opplæringen tar vi en titt på hvordan Lombok er @Getter kommentar fungerer på boolske felt for å fjerne behovet for å lage de tilsvarende getter-metodene.
2. Maven avhengighet
La oss starte med å legge til Project Lombok i vårt pom.xml:
org.projectlombok lombok 1.18.10
3. Bruke @Getter på en boolsk Felt
La oss si at vi vil at Lombok skal generere en tilgangsmetode for vårt private boolske felt.
Vi kan kommentere det feltet med @Getter:
@Getter privat boolsk løping;
Og Lombok vil bruke sin merkeprosessor til å generere en løper() metode i klassen.
Og nå kan vi referere til det, selv om vi ikke har skrevet metoden selv:
@Test offentlig ugyldig nårBasicBooleanField_thenMethodNamePrefixedWithIsFollowedByFieldName () {LombokExamples lombokExamples = new LombokExamples (); assertFalse (lombokExamples.isRunning ()); }
3.1. EN boolsk Felt med samme navn som tilbehør
La oss legge til en ny linje med kode for å gjøre eksemplet litt vanskelig:
@Getter private boolske isRunning = true;
Det ville være litt tungvint om Lombok opprettet en metode som heter isIsRunning.
I stedet skaper Lombok løper som før:
@Test offentlig ugyldig nårBooleanFieldPrefixedWithIs_thenMethodNameIsSameAsFieldName () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.isRunning ()); }
3.2. To boolsk Felt med samme tilgangsnavn
Noen ganger kan det være konflikter.
La oss si at vi må ha følgende linjer i samme klasse:
@Getter offentlig boolsk løping = sant; @Getter public boolean isRunning = false;
Det er mange grunner til at vi bør unngå en forvirrende navnekonvensjon som denne. En av dem er at det skaper en konflikt for Lombok.
Ved å bruke Lomboks konvensjon vil disse to feltene ha samme tilgangsmetodenavn: løper. Men å ha to metoder med samme navn i samme klasse, vil skape en kompilatorfeil.
Lombok løser dette ved å opprette bare en tilgangsmetode og i dette tilfellet peke på løping, basert på ordre om feltdeklarasjon:
@Test offentlig ugyldig nårTwoBooleanFieldsCauseNamingConflict_thenLombokMapsToFirstDeclaredField () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.isRunning () == lombokExamples.running); assertFalse (lombokExamples.isRunning () == lombokExamples.isRunning); }
4. Bruke @Getter på en Boolsk Felt
Nå, Lombok behandler Boolsk skriv bare litt annerledes.
La oss prøve vårt samme løpeeksempel en siste gang, men med Boolsk i stedet for den primitive typen:
@Getter privat boolsk løping;
I stedet for å skape løper, Vil Lombok generere getRunning:
@Test offentlig ugyldig nårFieldOfBooleanType_thenLombokPrefixesMethodWithGetInsteadOfIs () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.getRunning ()); }
5. Konklusjon
I denne artikkelen undersøkte vi hvordan du bruker Lomboks @Getter-merknad for boolske primitiver og boolske gjenstander.
Og sørg for å sjekke ut prøvene på Github.