【问题标题】:False instead of True (@gmail.com) [duplicate]假而不是真(@gmail.com)[重复]
【发布时间】:2018-10-30 13:35:29
【问题描述】:

我写了一个验证器来查看电子邮件是否以“@gmail.com”结尾。 我真的不知道为什么这返回错误。 有人可以帮我解决为什么吗?

public static void main(String [] args){
    System.out.println(StringUtils.isValidGmail("a@gmail.com"));  // true
}


public static boolean isValidGmail(String email){
    if (email == null){
        return false;
    }
    int x = email.length() - 1;
    String gmail = email.substring(x-9, x+1);  // @gmail.com
    return gmail == "@gmail.com";
}

【问题讨论】:

  • 对于字符串比较使用 .equals() 而不是 == 他们做两种不同类型的检查。
  • 试试return gmail.equals("@gmail.com"); 当然阅读上面评论中的链接以获得解释 [-:
  • 哦,好的,非常感谢
  • return email.endsWith("@gmail.com") 可能是单线。
  • 好的,我会读的,非常感谢

标签: java class oop authentication


【解决方案1】:

您应该将return gmail == "@gmail.com"; 替换为return gmail.equals("@gmail.com");

【讨论】:

  • 好的,我明白了,非常感谢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多