Apache Email Validator的错误

Zac*_*cze 0 java email email-validation apache-commons

我正在尝试做的事:尝试使用Apache电子邮件验证程序查看电子邮件是否有效.我用它作为基本代码来测试它是否有效:

    import org.apache.commons.validator.*;
public class main {

    public static void main(String[] args) {
        String email = "example@gmail.com";

        EmailValidator emailvalidator = new EmailValidator();

        if(emailvalidator.isValid(email)) {
            System.out.println("Email is valid");
        }

        else {
            System.out.println("Email is invalid");
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

问题:我在EmailValidator构造函数中遇到错误"构造函数EmailValidator()不可见".这导致整个程序无法正常工作.

我的问题:我该如何解决这个错误.请非常详细,因为我对Java很新.

小智 7

您看到此错误,因为默认构造函数是私有的,但文档确实提供了getInstance()方法.尝试以下代码,它应该工作.

    import org.apache.commons.validator.*;
    public class main {
        public static void main(String[] args) {
            String email = "example@gmail.com";

            EmailValidator emailvalidator = EmailValidator.getInstance();

            if(emailvalidator.isValid(email)) {
                System.out.println("Email is valid");
            } else {
                System.out.println("Email is invalid");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 仅供参考 - 在新版本的库(即1.6)中,不推荐使用org.apache.commons.validator中的电子邮件验证程序.您应该使用位于org.apache.commons.validator.routines下的那个 (4认同)