私のテストでは、フィールドにデータが入力されていることを確認するという観点から考えられるすべてのことを以下で説明しているようです。私が見逃したかもしれない事件を誰かが考えることができますか?
public static boolean isEmpty(final String string) {
return string != null && !string.isEmpty() && !string.trim().isEmpty();
}
Apache Commons StringUtilsは、次の手法を使用します。
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(str.charAt(i)) == false)) {
return false;
}
}
return true;
}
メソッドには「isEmpty」というラベルが付いているため、名前は少し誤解を招きますが、空でない場合はtrueを返します...しかし、それはあなた次第です。
ANDステートメントをORに変更し、中期用語は不要なので削除します。
public static boolean isEmpty(final String string) {
return string == null || string.trim().isEmpty();
}
例:
if(isEmpty(null)){
System.out.println("Empty");
}else{
System.out.println("Not Empty");
}
if(isEmpty("")){
System.out.println("Empty");
}else{
System.out.println("Not Empty");
}
if(isEmpty(" ")){
System.out.println("Empty");
}else{
System.out.println("Not Empty");
}
if(isEmpty("Test")){
System.out.println("Empty");
}else{
System.out.println("Not Empty");
}
出力:
Empty
Empty
Empty
Not Empty
あなたはただすることができます:
public static boolean isEmpty(String string) { //don't make it final going in or you cant trim it.
string = string.trim();
return string != null || string.length() == 0;
}