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.


$config[zx-auto] not found$config[zx-overlay] not found