【发布时间】:2016-02-11 11:25:43
【问题描述】:
所以我想创建一个 util 方法,它返回一个来自ConstraintValidators 的错误列表。我有这个方法:
public static List<String> getViolationsToList(Set<ConstraintViolation<?>> violations) {
List<String> errors = new ArrayList<>();
for(ConstraintViolation<?> violation: violations) {
errors.add(violation.getMessage());
}
return errors;
}
但是当我调用它时,
RestUtil.getViolationsToList(violations);
它不会编译。违规类型:
Set<ConstraintViolation<UserDto>> violations;
有什么想法吗? Eclipse 建议使用 UserDto 删除通配符或创建新方法,但我想使用泛型。
【问题讨论】:
-
尝试使用:
Set<ConstraintViolation<Object>而不是Set<ConstraintViolation<?> -
尝试:设置
-
这显然不会编译。 ConstraintViolation
不继承 ConstraintViolation -
@AdamKortylewicz 我想让它通用,适用于所有 dto。硬编码给定的 DTO 不是一个好主意。
-
那么顶级 DTO 类型叫什么?
Dto?