我正在构建一个验证例程,该例程验证内容,然后以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 ");
}
这样,如果您需要更改错误的输出格式,则只有一个地方可以维护。