2
public class SendEmailImpl
{
private boolean isValidEmailAddress(String email)
{
boolean stricterFilter = true;
String stricterFilterString = "[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
String laxString = "[email protected]+\\.[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();
}
}
的一个实例,我试图用反射Java对象不是声明类
@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 [email protected]");
}
调用这个代码,但我得到错误
java.lang.IllegalArgumentException异常:对象不是申报类的实例
你知道我的代码在哪里吗G?
我也试过这样:
@Test
public void testValidEmail() throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, 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 [email protected]");
}
但结果是一样的。
什么生产线抛出异常? – JohnnyAW
这一个布尔invoke =(布尔)method1.invoke(String.class); –