作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要实现 ContraintValidatorFactory 接口(interface),它是 jsr303 的一部分
public interface ConstraintValidatorFactory {
/**
* @param key The class of the constraint validator to instantiate.
*
* @return A constraint validator instance of the specified class.
*/
<T extends ConstraintValidator<?,?>> T getInstance(Class<T> key);
}
我的实现是
private static class InstanceAwareConstraintValidatorFactory implements ConstraintValidatorFactory {
private ClassToInstanceMap<ConstraintValidator> instances = MutableClassToInstanceMap.create();
@SuppressWarnings("unchecked")
@Override
public <T extends ConstraintValidator<?, ?>> T getInstance(Class<T> key) {
if(instances.containsKey(key)) {
return (T) instances.get(key);
}
return ReflectionHelper.newInstance(key, "ConstraintValidator");
}
public void addContraintValidation(ConstraintValidator constraintValidator) {
instances.put(constraintValidator.getClass(), constraintValidator);
}
public void addContraintValidations(Set<ConstraintValidator<?, ?>> constraintValidators) {
for(ConstraintValidator<?,?> constraintValidator : constraintValidators) {
instances.put(constraintValidator.getClass(), constraintValidator);
}
}
}
如何在我的实现中删除 @SuppressWarnings("unchecked")
。您可以自由修改 InstanceAwareConstraintValidatorFactory
。
换句话说,我需要使用正确的通用参数来提供与我的 ClassToInstanceMap 和接口(interface)的 getIntance 方法的契约(Contract)。
这可能吗?
最佳答案
关于java - 更正 ClassToInstanceMap 的泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12814952/
我是一名优秀的程序员,十分优秀!