Korištenje Lombokovog @Getter for Boolean Fields

1. Uvod

Projekt Lombok popularna je knjižnica za smanjenje Java uzorka.

U ovom brzom uputstvu pogledat ćemo kako je Lombok @ Dobij napomena radi na logičkim poljima kako bi uklonila potrebu za stvaranjem odgovarajućih getterskih metoda.

2. Ovisnost Mavena

Počnimo s dodavanjem projekta Lombok u naš pom.xml:

 org.projectlombok lombok 1.18.10 

3. Korištenje @Getter na a boolean Polje

Recimo da želimo da Lombok generira metodu pristupa za naše privatno logičko polje.

To polje možemo označiti s @ Dobij:

@ Getter private boolean running;

A Lombok će upotrijebiti svoj procesor bilješki za generiranje trči() metoda u razredu.

I sada se na nju možemo pozivati, iako nismo sami napisali metodu:

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

3.1. A boolean Polje koje ima isto ime kao i njegov pristupnik

Dodajmo još jedan redak koda da primjer bude malo zeznut:

@ Getter private boolean isRunning = true;

Bilo bi pomalo nezgrapno kad bi Lombok stvorio metodu tzv isIsRunning.

Umjesto toga, Lombok stvara trči kao prije:

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

3.2. Dva boolean Polja s istim imenom pristupnika

Ponekad može doći do sukoba.

Recimo da trebamo imati sljedeće retke u istoj klasi:

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

Mnogo je razloga zbog kojih bismo trebali izbjegavati zbunjujuću konvenciju imenovanja poput ove. Jedan od njih je da Lomboku stvara sukob.

Koristeći Lombokov dogovor, ova dva polja imala bi isto ime metode pristupa: trči. Ali posjedovanje dvije metode s istim imenom u istoj klasi stvorit će pogrešku kompajlera.

Lombok to rješava stvaranjem samo jedne metode pristupa i, u ovom slučaju, usmjeravanjem na nju trčanje, na temelju naloga za deklaraciju polja:

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

4. Korištenje @Getter na a Booleova Polje

Sada, Lombok liječi Booleova unesite samo malo drugačije.

Isprobajmo isti primjer trčanja posljednji put, ali sa Booleova umjesto primitivnog tipa:

@ Getter private Boolean trčanje;

Umjesto stvaranja trči, Lombok će generirati getRunning:

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

5. Zaključak

U ovom smo članku istražili kako koristiti Lombokovu napomenu @Getter za logičke primitive i logičke objekte.

I provjerite uzorke na Githubu.


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