题目
小楼同学是实验楼刚入职的 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;
}
}
网友评论