Využívanie nástroja Lombok @Getter pre Boolean Fields

1. Úvod

Project Lombok je populárna knižnica na znižovanie štandardných Java.

V tomto rýchlom výučbe sa pozrieme na to, ako má Lombok @Získajte anotácia pracuje na boolovských poliach, aby odstránila potrebu vytvárať príslušné metódy getra.

2. Závislosť od Maven

Začnime tým, že k nášmu projektu pridáme Project Lombok pom.xml:

 org.projectlombok lombok 1.18.10 

3. Používanie @Getter na a boolovský Lúka

Povedzme, že chceme, aby Lombok vygeneroval metódu prístupu pre naše súkromné ​​booleovské pole.

Toto pole môžeme anotovať @Získajte:

@Získajte súkromný booleovský beh;

A Lombok použije svoj anotačný procesor na vygenerovanie beží() metóda v triede.

A teraz sa na to môžeme odvolať, aj keď sme metódu sami nenapísali:

@Test public void whenBasicBooleanField_thenMethodNamePrefixedWithIsFollowedByFieldName () {LombokExamples lombokExamples = new LombokExamples (); assertFalse (lombokExamples.isRunning ()); }

3.1. A boolovský Pole s rovnakým názvom ako jeho prístupový server

Pridajme ďalší riadok kódu, aby bol príklad trochu komplikovaný:

@ Getter private boolean isRunning = true;

Bolo by trochu ťažkopádne, keby Lombok vytvoril metódu s názvom isIsRunning.

Namiesto toho vytvára Lombok beží ako predtým:

@Test public void whenBooleanFieldPrefixedWithIs_thenMethodNameIsSameAsFieldName () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.isRunning ()); }

3.2. Dva boolovský Polia s rovnakým menom prístupového servera

Niekedy môžu nastať konflikty.

Povedzme, že musíme mať nasledujúce riadky v rovnakej triede:

 @ Getter public boolean running = true; @ Getter public boolean isRunning = false;

Existuje veľa dôvodov, prečo by sme sa mali vyhnúť mätúcej konvencii pomenovania, ako je táto. Jedným z nich je, že to vytvára konflikt pre Lombok.

Pri použití Lombokovej konvencie by tieto dve polia mali rovnaký názov metódy prístupového objektu: beží. Ale to, že budete mať v tej istej triede dve metódy s rovnakým názvom, spôsobí chybu kompilátora.

Lombok to rieši vytvorením iba jednej metódy prístupového objektu a v tomto prípade jej nasmerovaním beh, na základe objednávky deklarácie poľa:

@Test public void whenTwoBooleanFieldsCauseNamingConflict_thenLombokMapsToFirstDeclaredField () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.isRunning () == lombokExamples.running); assertFalse (lombokExamples.isRunning () == lombokExamples.isRunning); }

4. Používanie @Getter na a Boolovský Lúka

Teraz Lombok lieči Boolovský typ len trochu inak.

Vyskúšajme naposledy ten istý príklad behu, ale s Boolovský namiesto primitívneho typu:

@Získajte súkromný booleovský beh;

Namiesto tvorenia beží, Vygeneruje Lombok getRunning:

@Test public void whenFieldOfBooleanType_thenLombokPrefixesMethodWithGetInsteadOfIs () {LombokExamples lombokExamples = new LombokExamples (); assertTrue (lombokExamples.getRunning ()); }

5. Záver

V tomto článku sme skúmali, ako používať anotáciu @Getter spoločnosti Lombok pre boolovské primitívy a boolovské objekty.

A nezabudnite si pozrieť vzorky na Githube.


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