Java对象不是声明类的实例
发布时间:2020-12-15 04:30:36 所属栏目:Java 来源:网络整理
导读:public class SendEmailImpl { private boolean isValidEmailAddress(String email) { boolean stricterFilter = true; String stricterFilterString = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}"; String laxString = ".+@.+.[A-Za-z]{2}[A-Za-
public class SendEmailImpl { private boolean isValidEmailAddress(String email) { boolean stricterFilter = true; String stricterFilterString = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}"; String laxString = ".+@.+.[A-Za-z]{2}[A-Za-z]*"; String emailRegex = stricterFilter ? stricterFilterString : laxString; Pattern p = Pattern.compile(emailRegex); Matcher m = p.matcher(email); return m.matches(); } } 我尝试使用反射调用此代码 @Test public void testValidEmail() throws NoSuchMethodException,IllegalAccessException,IllegalArgumentException,InvocationTargetException { Method method = SendEmailImpl.class.getDeclaredMethod("isValidEmailAddress",String.class); method.setAccessible(true); Boolean invoke = (Boolean) method.invoke("isValidEmailAddress",String.class); assertTrue(invoke); System.out.println("Testing E-mail validator - case example@example.com"); } 但我得到错误
你知道我的代码在哪里错了吗? 我也试过这个: @Test public void testValidEmail() throws NoSuchMethodException,InvocationTargetException { Method method1 = SendEmailImpl.class.getDeclaredMethod("isValidEmailAddress",String.class); method1.setAccessible(true); Boolean invoke = (Boolean)method1.invoke(String.class); assertTrue(invoke); System.out.println("Testing E-mail validator - case example@example.com"); } 但结果是一样的. 解决方法
您正在使用Class< String>调用isValidEmailAddress方法参数(String.class)而不是String.此外,第一个参数应该是您要调用方法的类的实例(因为它不是静态方法).
引用
更正代码: @Test public void testValidEmail() throws NoSuchMethodException,InvocationTargetException { SendEmailImpl instance = new SendEmailImpl(); Method method = instance.getClass().getDeclaredMethod("isValidEmailAddress",String.class); method.setAccessible(true); Boolean invoke = (Boolean) method.invoke(instance,"myStringArgument"); // rest of code } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |