Java - StringUtils isEmpty() vs isBlank()
StringUtils adalah salah satu class dari package org.apache.commons.lang3 dari library Apache common lang.
Class ini adalah class helper untuk pemrosesan String. Didalamnya terdapat banyak fungsi yang membantu Software Engineer/Java Engineer untuk menyederhanakan/mempersingkat code.
Diantaranya method yang dipunyai oleh class ini adalah :
- isBlank(String)
- isEmpty(String)
Apa bedanya ?
StringUtils.isEmpty(String) mengecek apakah String adalah empty ("") atau null saja. Tetapi tidak mengecek apakah String tersebut sebenarnya hanyalah spasi saja.
Contoh :
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isBlank(String) mengecek apakah String adalah empty ("") atau spasi saja (" “) atau null.
Contoh :
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
Kesimpulannya
StringUtils.isBlank(String) lebih lengkap pengecekannya. Semua kondisi yang dianggap sebagai blank akan dicek, yaitu :
- null
- hanya spasi saja (” “) (bisa lebih dari satu spasi)
- empty string ("")
Bagaimana penggunaannya ?
Penggunaannya tentu saja dengan mengimpor lewat dependency management dahulu.
Misal pakai maven :
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
Apa bisa tanpa memakai library ini ?
Tentu saja bisa, class StringUtils ini hanyalah sebuah helper atau lebih tepatnya penyingkat code. Mengimpor package helper ini merupakan pilihan yang beralasan, karena banyak fungsionalitas yang membantu kita dalam menyingkat code Java kita.
Cara penggunaannya dan Code yang sesuai
StringUtils.isEmpty(String)
Code lama :
String str = "Ini adalah input string";
if (str !=null && !str.equals("")) {
// code logic here
}
Code baru :
String str = "Ini adalah input string";
if (!StringUtils.isEmpty(str)) {
// code logic here
}
StringUtils.isBlank(String)
Code lama :
String str = "Ini adalah input string";
if (str !=null && !str.equals("") && !str.trim().equals("")) {
// code logic here
}
Code baru :
String str = "Ini adalah input string";
if (!StringUtils.isBlank(str)) {
// code logic here
}