題目
小樓同學(xué)是實驗樓剛?cè)肼毜?Java 程序員辕宏。開發(fā)工作中,經(jīng)常需要判斷多個輸入是否為空問題砾莱,Java 中判斷空的方法寫起來太長瑞筐,字段一多代碼維護(hù)就變的很困難,于是小樓同學(xué)決定寫一個判斷字符串為空的工具類恤磷。結(jié)合平時的使用情況他定義該類有以下兩個靜態(tài)方法:
-
allIsNotNull
接收 N(1<=N) 個 String 類型參數(shù),返回是否都不為 null野宜; -
allIsNotEmpty
接收 N(1<=N) 個 String 類型參數(shù)扫步,返回是否都不為 null 且都不為空串;
目標(biāo)
補全類 StringUtils 的兩個靜態(tài)方法匈子,使其能正常按定義判斷字符串河胎。
提示
- 注意處理異常情況;
- 自測要充分虎敦,可變參數(shù)的多種情況都要考慮到游岳;
知識點
可變參數(shù)
題目代碼
public class StringUtils {
public static boolean allIsNotNull(String...s) {
return false;
}
public static boolean allIsNotEmpyty(String...s) {
return false;
}
}
解決思路
一開始做好了提交,一直顯示錯誤其徙。然后自己寫了幾個測試用例都過了胚迫,聯(lián)想到題目提示要處理異常,就是試著調(diào)用StringUtils.allIsNotNull(null)
唾那,才發(fā)現(xiàn)要處理可變參數(shù)要進(jìn)行判空....访锻;
我的答案代碼
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;
}
}