美文网首页Java 杂谈
实验楼第10期java楼赛——实现String工具类

实验楼第10期java楼赛——实现String工具类

作者: chenxuxu | 来源:发表于2017-06-27 21:39 被阅读317次

    题目

    小楼同学是实验楼刚入职的 Java 程序员。开发工作中,经常需要判断多个输入是否为空问题,Java 中判断空的方法写起来太长,字段一多代码维护就变的很困难,于是小楼同学决定写一个判断字符串为空的工具类。结合平时的使用情况他定义该类有以下两个静态方法:

    1. allIsNotNull 接收 N(1<=N) 个 String 类型参数,返回是否都不为 null;
    2. allIsNotEmpty 接收 N(1<=N) 个 String 类型参数,返回是否都不为 null 且都不为空串;

    目标

    补全类 StringUtils 的两个静态方法,使其能正常按定义判断字符串。

    提示

    1. 注意处理异常情况;
    2. 自测要充分,可变参数的多种情况都要考虑到;

    知识点

    可变参数

    题目代码

    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;
        }
    }
    

    相关文章

      网友评论

        本文标题:实验楼第10期java楼赛——实现String工具类

        本文链接:https://www.haomeiwen.com/subject/razecxtx.html