我正在尝试获取导致包中的注释的对象Class
引用(Apache Bval 实现)。ConstraintViolation
javax.validation
在得到一些 ConstraintViolations 后,我将它们传递给以下函数:
private Class<?> getConstraintAnnotation(final ConstraintViolation<?> constraintViolation) {
return constraintViolation
.getConstraintDescriptor()
.getAnnotation()
.getClass();
}
这将返回一个类对象,其getName()
、getCanonicalName()
和getTypeName()
都返回“java.lang.reflect.Proxy”。
奇怪的是,对象的toString()
方法Class
返回“class com.sun.proxy.$Proxy10”。
有没有办法让我获得真正的注释类而不是这些代理?理想情况下,我希望将内置注释映射到错误代码(每次使用时都不必覆盖该消息)。