Memeriksa String Kosong atau Kosong di Java

1. Perkenalan

Dalam tutorial ini, kita akan membahas beberapa cara untuk memeriksa string kosong atau kosong di Java. Kami memiliki beberapa pendekatan bahasa asli serta beberapa perpustakaan.

2. Kosong vs. Kosong

Ini, tentu saja, cukup umum untuk mengetahui kapan sebuah string kosong atau kosong, tapi mari pastikan kita berada di halaman yang sama dengan definisi kita.

Kami menganggap string menjadi kosong jika itu baik nol atau string tanpa setiap panjang. Jika sebuah string hanya terdiri dari whitespace saja, maka kita menyebutnya blank .

Untuk Java, spasi putih adalah karakter seperti spasi, tab, dan sebagainya. Lihat Character.isWhitespace sebagai contoh.

3. String Kosong

3.1. Dengan Java 6 dan Di Atas

Jika kita setidaknya menggunakan Java 6, maka cara paling sederhana untuk memeriksa string kosong adalah String # isEmpty :

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

Untuk membuatnya juga aman dari nol, kita perlu menambahkan pemeriksaan ekstra:

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

3.2. Dengan Java 5 dan Di Bawah

String # isEmpty diperkenalkan dengan Java 6. Untuk Java 5 dan yang lebih lama, kita bisa menggunakan panjang String # .

boolean isEmptyString(String string)  return string == null 

Faktanya, String # isEmpty hanyalah pintasan ke panjang String # .

4. String Kosong

Baik String # isEmpty dan String # length dapat digunakan untuk memeriksa string kosong .

Jika kita juga ingin mendeteksi string kosong , kita dapat melakukannya dengan bantuan String # trim . Ini akan menghapus semua spasi putih di depan dan di belakang sebelum melakukan pemeriksaan.

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

Tepatnya, String # trim akan menghapus semua karakter di depan dan di belakang dengan kode Unicode kurang dari atau sama dengan U + 0020.

Dan juga ingat bahwa String tidak dapat diubah, jadi memanggil trim tidak akan benar-benar mengubah string yang mendasarinya.

5. Validasi Bean

Cara lain untuk memeriksa string kosong adalah ekspresi reguler. Ini berguna misalnya dengan Java Bean Validation:

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

Ekspresi reguler yang diberikan memastikan bahwa string kosong atau kosong tidak akan divalidasi.

6. Dengan Apache Commons

Jika boleh menambahkan dependensi, kita dapat menggunakan Apache Commons Lang. Ini memiliki sejumlah pembantu untuk Java.

Jika kita menggunakan Maven, kita perlu menambahkan dependensi commons-lang3 ke pom kita:

 org.apache.commons commons-lang3 

Antara lain, ini memberi kita StringUtils .

Kelas ini hadir dengan metode seperti isEmpty , isBlank , dan sebagainya:

StringUtils.isBlank(string)

Panggilan ini melakukan hal yang sama seperti metode isBlankString kita sendiri . Ini tidak aman dan juga memeriksa spasi putih.

7. Dengan Jambu Biji

Pustaka terkenal lainnya yang menghadirkan utilitas terkait string tertentu adalah Guava Google. Dimulai dengan versi 23.1, ada dua jenis Guava: android dan jre . Ragam Android menargetkan Android dan Java 7, sedangkan ragam JRE berlaku untuk Java 8.

Jika kami tidak menargetkan Android, kami cukup menambahkan rasa JRE ke pom kami:

 com.google.guava guava 28.0-jre 

Kelas Guavas Strings hadir dengan metode Strings.isNullOrEmpty :

Strings.isNullOrEmpty(string)

Ia memeriksa apakah string yang diberikan adalah null atau kosong, tetapi tidak akan memeriksa string hanya spasi .

8. Kesimpulan

Ada beberapa cara untuk memeriksa apakah sebuah string kosong atau tidak. Seringkali, kami juga ingin memeriksa apakah sebuah string kosong, artinya hanya terdiri dari karakter spasi.

Cara yang paling mudah adalah dengan menggunakan Apache Commons Lang, yang menyediakan pembantu seperti StringUtils.isBlank . Jika kita ingin tetap menggunakan Java biasa, kita dapat menggunakan kombinasi String # trim dengan String # isEmpty atau String # length . Untuk Validasi Bean, ekspresi reguler dapat digunakan sebagai gantinya.

Pastikan untuk memeriksa semua sampel ini di GitHub.