Kontrollerer om det er tomme eller tomme strenger i Java

1. Introduksjon

I denne opplæringen vil vi gå gjennom noen måter å sjekke for tomme eller tomme strenger i Java. Vi har noen morsmålstilnærminger samt et par biblioteker.

2. Tom vs. tom

Det er selvfølgelig ganske vanlig å vite når en streng er tom eller tom, men la oss sørge for at vi er på samme side med definisjonene våre.

Vi anser en streng som tømme hvis det er det heller null eller en streng uten noen lengde. Hvis en streng bare består av bare mellomrom, kaller vi den blank.

For Java er mellomrom tegn som mellomrom, faner og så videre. Se på Tegn er hvitt område for eksempel.

3. Tomme strenger

3.1. Med Java 6 og over

Hvis vi i det minste er på Java 6, så er den enkleste måten å se etter en tømme streng er Streng # er tom:

boolsk isEmptyString (strengstreng) {return string.isEmpty (); }

For å gjøre det også null-trygt, må vi legge til en ekstra sjekk:

boolsk isEmptyString (strengstreng) streng.isEmpty (); 

3.2. Med Java 5 og under

Streng # er tom ble introdusert med Java 6. For Java 5 og nyere kan vi bruke Streng # lengde i stedet.

boolsk isEmptyString (strengstreng) returstreng == null 

Faktisk, Streng # er tom er bare en snarvei til Streng # lengde.

4. Blank Strings

Både Streng # er tom og Streng # lengde kan brukes til å sjekke om tømme strenger.

Hvis vi også vil oppdage blank strenger, kan vi oppnå dette ved hjelp av Streng # trim. Det vil fjern alle ledende og etterfølgende mellomrom før du utfører kontrollen.

boolsk isBlankString (strengstreng) streng.trim (). erEmpty (); 

For å være presis, Streng # trim vil fjerne alle ledende og etterfølgende tegn med en Unicode-kode som er mindre enn eller lik U + 0020.

Og husk det også Strings er uforanderlige, så kaller listverk vil faktisk ikke endre den underliggende strengen.

5. Validering av bønner

En annen måte å sjekke på blank strenger er vanlige uttrykk. Dette er nyttig for eksempel med Java Bean Validation:

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

Det gitte regulære uttrykket sikrer at tomme eller tomme strenger ikke valideres.

6. Med Apache Commons

Hvis det er greit å legge til avhengigheter, kan vi bruke Apache Commons Lang. Dette har en rekke hjelpere for Java.

Hvis vi bruker Maven, må vi legge til commons-lang3 avhengighet til vår pom:

 org.apache.commons commons-lang3 

Dette gir oss blant annet StringUtils.

Denne klassen kommer med metoder som er tom, er tom og så videre:

StringUtils.isBlank (streng)

Denne samtalen gjør det samme som vårt eget isBlankString metode. Det er null-trygt og sjekker også for mellomrom.

7. Med Guava

Et annet kjent bibliotek som bringer visse strengrelaterte verktøy, er Googles Guava. Fra og med versjon 23.1 er det to smaker av Guava: Android og jre. Android-smaken retter seg mot Android og Java 7, mens JRE-smaken gjelder for Java 8.

Hvis vi ikke målretter mot Android, kan vi bare legge til JRE-smaken i pom:

 com.google.guava guava 28.0-jre 

Guavas strenger klasse kommer med en metode Strings.isNullOrEmpty:

Strings.isNullOrEmpty (streng)

Den sjekker om en gitt streng er null eller tom, men det vil ikke se etter strenger som bare er mellomrom.

8. Konklusjon

Det er flere måter å sjekke om en streng er tom eller ikke. Ofte vil vi også sjekke om en streng er tom, noe som betyr at den bare består av tegn i mellomrom.

Den mest praktiske måten er å bruke Apache Commons Lang, som gir hjelpere som StringUtils.isBlank. Hvis vi vil holde oss til vanlig Java, kan vi bruke en kombinasjon av Streng # trim med enten Streng # er tom eller Streng # lengde. For Bean Validation kan vanlige uttrykk brukes i stedet.

Sørg for å sjekke ut alle disse prøvene på GitHub.


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