Brug af Lomboks @ Getter til boolske felter

1. Introduktion

Project Lombok er et populært bibliotek til reduktion af Java-kedelplade.

I denne hurtige vejledning ser vi på, hvordan Lombok er @Getter annotation fungerer på boolske felter for at fjerne behovet for at oprette dens tilsvarende getter-metoder.

2. Maven-afhængighed

Lad os starte med at tilføje Project Lombok til vores pom.xml:

 org.projectlombok lombok 1.18.10 

3. Brug af @Getter på en boolsk Mark

Lad os sige, at vi ønsker, at Lombok skal generere en accessor-metode til vores private boolske felt.

Vi kan kommentere det felt med @Getter:

@Getter privat boolsk løb;

Og Lombok vil bruge sin annoteringsprocessor til at generere en løber() metode i klassen.

Og nu kan vi henvise til det, selvom vi ikke selv har skrevet metoden:

@Test offentlig ugyldigt nårBasicBooleanField_thenMethodNamePrefixedWithIsFollowedByFieldName () {LombokExamples lombokExamples = new LombokExamples (); assertFalse (lombokExamples.isRunning ()); }

3.1. EN boolsk Felt med samme navn som dets tilbehør

Lad os tilføje en ny linje kode for at gøre eksemplet lidt vanskeligt:

@Getter privat boolsk isRunning = sand;

Det ville være lidt besværligt, hvis Lombok oprettede en metode, der hedder isIsRunning.

I stedet opretter Lombok løber ligesom før:

@Test offentlig ugyldig nårBooleanFieldPrefixedWithIs_thenMethodNameIsSameAsFieldName () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.isRunning ()); }

3.2. To boolsk Felter med samme accessornavn

Nogle gange kan der være konflikter.

Lad os sige, at vi skal have følgende linjer i samme klasse:

 @Getter offentlig boolsk løb = sand; @Getter public boolean isRunning = false;

Der er mange grunde til, at vi bør undgå en forvirrende navngivningskonvention som denne. En af dem er, at det skaber en konflikt for Lombok.

Ved hjælp af Lomboks konvention ville disse to felter have samme accessor-metodenavn: løber. Men at have to metoder med samme navn i samme klasse vil skabe en compiler-fejl.

Lombok løser dette ved kun at oprette en tilgangsmetode og i dette tilfælde pege på løb, baseret på feltangivelsesordre:

@Test offentlig ugyldig nårTwoBooleanFieldsCauseNamingConflict_thenLombokMapsToFirstDeclaredField () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.isRunning () == lombokExamples.running); assertFalse (lombokExamples.isRunning () == lombokExamples.isRunning); }

4. Brug af @Getter på en Boolsk Mark

Nu behandler Lombok Boolsk skriv bare lidt anderledes.

Lad os prøve vores samme løbeeksempel en sidste gang, men med Boolsk i stedet for den primitive type:

@Getter privat boolsk løb;

I stedet for at skabe løber, Vil Lombok generere getRunning:

@Test offentlig ugyldig nårFieldOfBooleanType_thenLombokPrefixesMethodWithGetInsteadOfIs () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.getRunning ()); }

5. Konklusion

I denne artikel undersøgte vi, hvordan man bruger Lomboks @Getter-kommentar til boolske primitiver og boolske objekter.

Og sørg for at tjekke prøverne på Github.


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