Üres vagy üres karakterláncok ellenőrzése a Java-ban

1. Bemutatkozás

Ebben az oktatóanyagban áttekintünk néhány módot az üres vagy üres karakterláncok ellenőrzésére a Java-ban. Van néhány anyanyelvi megközelítésünk, valamint néhány könyvtárunk.

2. Üres kontra üres

Természetesen elég gyakori tudni, hogy egy karakterlánc üres vagy üres-e, de győződjünk meg arról, hogy ugyanazon az oldalon vagyunk a definícióinkkal.

Húrnak tekintjük üres ha akár nulla vagy húr nélkül Bármi hossz. Ha egy karakterlánc csak fehér szóközből áll, akkor hívjuk üres.

A Java esetében a szóközök olyan karakterek, mint a szóköz, a tabulátorok és így tovább. Nézd meg Karakter.isWhitespace például.

3. Üres húrok

3.1. Java 6-os és újabb verziókkal

Ha legalább a Java 6-on vagyunk, akkor a legegyszerűbb módja annak ellenőrzésére üres karakterlánc az A (z) # karakterlánc üres:

logikai isEmptyString (String string) {return string.isEmpty (); }

Annak érdekében, hogy ez semleges legyen, hozzá kell adnunk egy extra ellenőrzést:

logikai isEmptyString (String string) string.isEmpty (); 

3.2. Java 5-tel és az alábbiakkal

A (z) # karakterlánc üres Java 6-os verzióval vezették be Karakterlánc # hossza helyette.

logikai isEmptyString (String string) visszatérési karakterlánc == null 

Valójában, A (z) # karakterlánc üres csak egy parancsikon a Karakterlánc # hossza.

4. Üres húrok

Mindkét A (z) # karakterlánc üres és Karakterlánc # hossza felhasználható az ellenőrzésre üres húrok.

Ha mi is fel akarjuk fedezni üres húrok, ezt elérhetjük a segítségével Karakterlánc # trim. Fog az ellenőrzés elvégzése előtt távolítsa el az összes vezető és záró szóközt.

logikai isBlankString (String string) string.trim (). isEmpty (); 

Pontosabban: Karakterlánc # trim eltávolítja az összes vezető és záró karaktert, amelyek Unicode kódja legfeljebb U + 0020.

És arra is emlékezzen Húrs változhatatlanok, ezért hívó trim valójában nem változtatja meg az alapul szolgáló karakterláncot.

5. Babellenőrzés

Egy másik módja annak ellenőrzésére üres a húrok reguláris kifejezések. Ez jól jön például a Java Bean validációval:

@Minta (regexp = "\ A (?! \ s * \ Z). +") Karakterlánc néhányString;

A megadott reguláris kifejezés biztosítja, hogy az üres vagy üres karakterláncok nem érvényesülnek.

6. Apache Commons-szal

Ha a függőségek hozzáadása rendben van, használhatjuk az Apache Commons Lang alkalmazást. Ennek rengeteg segítője van a Java számára.

Ha Mavenet használunk, hozzá kell adnunk a commons-lang3 függőség a pom-tól:

 org.apache.commons commons-lang3 

Többek között ez ad nekünk StringUtils.

Ez az osztály olyan módszerekkel jár, mint üres, isBlank stb:

StringUtils.isBlank (karakterlánc)

Ez a hívás ugyanazt teszi, mint a sajátunk isBlankString módszer. Semleges és ellenőrzi a szóközöket is.

7. Guavával

Egy másik jól ismert könyvtár, amely bizonyos karakterláncokkal kapcsolatos segédprogramokat hoz létre, a Google Guava. A 23.1 verziótól kezdve a Guava két íze van: android és jre. Az Android íz az Androidot és a Java 7-et célozza meg, míg a JRE íz a Java 8-ra vonatkozik.

Ha nem az Android-ot célozzuk meg, akkor egyszerűen hozzáadhatjuk a JRE ízt a pomunkhoz:

 com.google.guava guava 28.0-jre 

A Guavas Strings osztály egy módszerrel jár Strings.isNullOrEmpty:

Strings.isNullOrEmpty (karakterlánc)

Ellenőrzi, hogy egy adott karakterlánc null vagy üres-e, de nem fogja ellenőrizni, hogy vannak-e csak üres szóközök.

8. Következtetés

Többféle módon ellenőrizheti, hogy egy karakterlánc üres-e vagy sem. Gyakran azt is ellenőrizni szeretnénk, hogy egy karakterlánc üres-e, vagyis csak szóköz karakterekből áll.

A legkényelmesebb módszer az Apache Commons Lang használata, amely olyan segítségeket nyújt, mint pl StringUtils.isBlank. Ha ragaszkodni akarunk a sima Java-hoz, használhatjuk ezek kombinációját Karakterlánc # trim akármelyikkel A (z) # karakterlánc üres vagy Karakterlánc # hossza. A babellenőrzéshez rendszeres kifejezéseket lehet használni helyette.

Ügyeljen arra, hogy ellenőrizze ezeket a mintákat a GitHubon.


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