題目
小樓同學是實驗樓剛入職的 Java 程序員。開發工作中,經常需要判斷多個輸入是否為空問題,Java 中判斷空的方法寫起來太長,字段一多代碼維護就變的很困難,于是小樓同學決定寫一個判斷字符串為空的工具類。結合平時的使用情況他定義該類有以下兩個靜態方法:
-
allIsNotNull
接收 N(1<=N) 個 String 類型參數,返回是否都不為 null; -
allIsNotEmpty
接收 N(1<=N) 個 String 類型參數,返回是否都不為 null 且都不為空串;
目標
補全類 StringUtils 的兩個靜態方法,使其能正常按定義判斷字符串。
提示
- 注意處理異常情況;
- 自測要充分,可變參數的多種情況都要考慮到;
知識點
可變參數
題目代碼
public class StringUtils {
public static boolean allIsNotNull(String...s) {
return false;
}
public static boolean allIsNotEmpyty(String...s) {
return false;
}
}
解決思路
一開始做好了提交,一直顯示錯誤。然后自己寫了幾個測試用例都過了,聯想到題目提示要處理異常,就是試著調用StringUtils.allIsNotNull(null)
,才發現要處理可變參數要進行判空....;
我的答案代碼
public class StringUtils {
public static boolean allIsNotNull(String...s) {
if (s == null || s.length == 0) { // 容易忽略的地方
return false;
}
for (int i = 0; i < s.length; i++) {
if (s[i] == null) {
return false;
}
}
return true;
}
public static boolean allIsNotEmpyty(String...s) {
if (s == null || s.length == 0) { // 容易忽略的地方
return false;
}
for (int i = 0; i < s.length; i++) {
if (s[i] == null || s[i].equals("")) {
return false;
}
}
return true;
}
}