gpt4 book ai didi

java - Hibernate Validator iterator.hasNext() 不起作用

转载 作者:行者123 更新时间:2023-12-01 11:34:33 31 4
gpt4 key购买 nike

我使用以下代码得到无限循环(hasNext() 似乎总是正确的)

 private final ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
private final Validator validator = factory.getValidator();
Set<ConstraintViolation<SomeRequest>> reqErrors = validator.validate(request);

StringBuilder sb = new StringBuilder();
while(reqErrors.iterator().hasNext()){
sb.append(reqErrors.iterator().next().getMessage() + "\n");
}

errors = sb.toString();

这工作正常:

 for(int i = 0; i < reqErrors.size(); i++){
sb.append(reqErrors.iterator().next().getMessage() + "\n");
}

我在这里缺少什么?

最佳答案

这是因为您调用(创建)迭代器两次!!

只需在顶部制作一次即可使用。

Iterator iterator = reqErrors.iterator();
while(iterator.hasNext()){
sb.append(iterator.next().getMessage() + "\n");
}

关于java - Hibernate Validator iterator.hasNext() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30142744/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com