开发中遇到 == 与 equals 方法

字符串转日期的方法:

   //转换类型
    public Date toDate(String birthday) {
        if (birthday == "") {
            return new Date(0);
        }
        SimpleDateFormat sdf = new SimpleDateFormat(("yyyy-MM-dd"));
        java.util.Date date;
        try {
            date = sdf.parse(birthday);
            return date;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return new Date(0);
    }
上述方法执行时传入“” 发生了如下错误:

java.text.ParseException: Unparseable date: ""

于是想到了字符串比较时的方法,是用 == 还是 equals ???

==:比较的是地址值

equals():比较的是对象内容,逻辑上的值

解决方法:

  //转换类型
    public Date toDate(String birthday) {
        if (birthday.equals("")) {
            return new Date(0);
        }
        SimpleDateFormat sdf = new SimpleDateFormat(("yyyy-MM-dd"));
        java.util.Date date;
        try {
            date = sdf.parse(birthday);
            return date;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return new Date(0);
    }


猜你喜欢

转载自blog.csdn.net/qq_36135928/article/details/79869075