Kontrola prázdnych alebo prázdnych reťazcov v Jave

1. Úvod

V tomto výučbe si ukážeme niekoľko spôsobov kontroly prázdnych alebo prázdnych reťazcov v Jave. Máme niekoľko prístupov v rodnom jazyku a niekoľko knižníc.

2. Prázdne vs.

Je samozrejme celkom bežné vedieť, kedy je reťazec prázdny alebo prázdny, ale uistime sa, že sme s našimi definíciami na rovnakej stránke.

Reťazec považujeme za prázdny ak je nulový alebo reťazec bez akýkoľvek dĺžka. Ak sa reťazec skladá iba z medzier, potom ho nazveme prázdne.

Pre Javu sú biele medzery znaky ako medzery, tabulátory a podobne. Pozri sa na Character.isWhitespace pre príklady.

3. Prázdne reťazce

3.1. S programom Java 6 a novšími

Ak sme aspoň na Jave 6, potom najjednoduchší spôsob, ako skontrolovať, či je prázdny reťazec je Reťazec # je Prázdny:

boolean isEmptyString (Reťazcový reťazec) {návratový reťazec.isEmpty (); }

Aby bola zaistená aj bezpečnosť voči nulovým hodnotám, musíme pridať ďalšiu kontrolu:

boolean isEmptyString (reťazec reťazca) string.isEmpty (); 

3.2. S programom Java 5 a novším

Reťazec # je Prázdny bol predstavený s Java 6. Pre Javu 5 a nižšiu môžeme použiť Dĺžka reťazca namiesto toho.

boolean isEmptyString (String string) return string == null 

V skutočnosti, Reťazec # je Prázdny je iba skratka do Dĺžka reťazca.

4. Prázdne struny

Oboje Reťazec # je Prázdny a Dĺžka reťazca možno použiť na kontrolu prázdny struny.

Ak chceme tiež zistiť prázdne reťazcov, dosiahneme to pomocou Reťazec # orezaný. To bude pred vykonaním kontroly odstráňte všetky predné a koncové medzery.

boolean isBlankString (reťazec) string.trim (). isEmpty (); 

Byť presný, Reťazec # orezaný odstráni všetky úvodné a koncové znaky s kódom Unicode menším alebo rovným U + 0020.

A tiež si to pamätajte Stringsú nemenné, takže volajú obrezať v skutočnosti nezmení podkladový reťazec.

5. Validácia fazule

Ďalším spôsobom, ako skontrolovať prázdne strings je regulárny výraz. To sa hodí napríklad pri overovaní Java Bean:

@Pattern (regexp = "\ A (?! \ s * \ Z). +") Reťazec someString;

Daný regulárny výraz zaisťuje, že prázdne alebo prázdne reťazce nebudú overené.

6. S Apache Commons

Ak je v poriadku pridávať závislosti, môžeme použiť Apache Commons Lang. Toto má množstvo pomocníkov pre Javu.

Ak používame Maven, musíme pridať commons-lang3 závislosť na našom pom:

 org.apache.commons commons-lang3 

Toto nám okrem iného dáva StringUtils.

Táto trieda je vybavená metódami ako je prázdny, isBlank a tak ďalej:

StringUtils.isBlank (reťazec)

Toto volanie je to isté ako naše vlastné isBlankString metóda. Je bezpečný pre nulové hodnoty a tiež kontroluje medzery.

7. S Guavou

Ďalšou známou knižnicou, ktorá prináša určité pomocné programy súvisiace s reťazcami, je Guava spoločnosti Google. Počnúc verziou 23.1 existujú dve príchute Guavy: Android a jre. Príchuť Android je zameraná na Android a Java 7, zatiaľ čo príchuť JRE platí pre Java 8.

Ak sa nezameriavame na Android, môžeme do nášho pom pridať iba príchuť JRE:

 com.google.guava guava 28.0-jre 

Trieda Guavas Strings prichádza s metódou Strings.isNullOrEmpty:

Strings.isNullOrEmpty (reťazec)

Kontroluje, či je daný reťazec nulový alebo prázdny, ale nebude kontrolovať reťazce, ktoré obsahujú iba medzery.

8. Záver

Existuje niekoľko spôsobov, ako skontrolovať, či je reťazec prázdny alebo nie. Často tiež chceme skontrolovať, či je reťazec prázdny, čo znamená, že pozostáva iba z medzier.

Najpohodlnejším spôsobom je použitie Apache Commons Lang, ktorý poskytuje pomocníkov ako napr StringUtils.isBlank. Ak sa chceme držať jednoduchej Javy, môžeme použiť kombináciu Reťazec # orezaný buď Reťazec # je Prázdny alebo Dĺžka reťazca. Pre overenie Beanov možno namiesto nich použiť regulárne výrazy.

Nezabudnite si všetky tieto vzorky pozrieť na GitHub.


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