我在这行代码中遇到了这个问题,即使我在循环中使用了 .append() 。

for (final FieldError fieldError : result.getFieldErrors()) {
    errors = new StringBuilder(errors).append(fieldError.getField()).append(" - ")
     .append(getErrorMessageFromProperties(fieldError.getCode())).append("*").toString();
}

我怎样才能解决这个问题?

最佳答案

您可以在 StringBuilder 循环之外创建 for 并重用它。

StringBuilder sb=new StringBuilder();
for (final FieldError fieldError : result.getFieldErrors()) {
      sb.append(fieldError.getField())
           .append(" - ")
           .append(getErrorMessageFromProperties(fieldError.getCode()))
           .append("*");
 }

将所有内容附加到 sb 后,您可以调用
 String error=sb.toString()

就在 for 循环之后

关于java - 性能 - 方法在循环中使用 + 连接字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26054803/

10-11 04:57