我正在构建一个验证例程,该例程验证内容,然后以StringBuilder的形式给出警告(失败)。在下面的代码中说,我正在检查参数paramX和paramY的下限。

 StringBuilder sb= new StringBuilder();

        if(paramX<10){
            sb.append("paramX cannot be less than 10 ");
        }

        if(paramY<20){
            sb.append("paramY cannot be less than 20 ");
        }

        System.out.println(sb);

它给出的输出为: paramX不能小于10 paramY不能小于20

但我想要输出,这样,每个附加的字符串将被打印在新行上。像下面。
paramX cannot be less than 10

paramY cannot be less than 20

我使用以下解决方法,但最终一次又一次地重复相同的代码(我不想这样做)。
sb.append(System.getProperty("line.separator")); // Add Explicit line separator each time
sb.append("\n");
sb.append("paramX cannot be less than 10 \n");

有更简单的方法吗?

最佳答案

如果您不想一遍又一遍地做,请编写一个辅助方法:

public void appendString(StringBuilder builder, String value) {
    builder.append(value + System.lineSeparator());
}

然后致电:
if(paramX<10){
    appendString(sb, "paramX cannot be less than 10 ");
}

这样,如果您需要更改错误的输出格式,则只有一个地方可以维护。

07-27 23:34