因此,我想制作一个util方法,该方法返回一个列表,其中包含来自ConstraintValidator的错误。我有这种方法:

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<T>>


然后:

public static <T> List<String> getViolationsToList(Set<ConstraintViolation<T>> violations) {

关于java - 不允许使用Java通配符通用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35338045/

10-11 07:02