StringBuilder无法追加新行

时间:2017-12-11 22:58:14

标签: groovy newline stringbuilder

所以每当我尝试使用StringBuilder追加一个新行时,我都无法获得新行,我试过了:

errorMessage.append(System.getProperty("line.separator"));
errorMessage.append(System.getProperty("\n"));
errorMessage.append(System.getProperty("\r\n"));
errorMessage.append(System.getProperty("line.separator"));

基本上谷歌搜索结果前3页内的所有内容都令人沮丧。我正在这样的for循环中实现它:idk如果有帮助,但任何建议都值得赞赏。

public String getIDs(HashMap<String,List<Integer>> errorMap ){
    StringBuilder errorMessage = new StringBuilder();

    for (String state:errorMap.keySet()){

        List<Integer> listofId = errorMap.get(state);

        if (listofId){
            StringBuilder listOfIds = new StringBuilder();
            for (Integer id :listofId) {
                listOfIds.append(id.toString()+' , ')
            }
            errorMessage.append(state +" Trades: " +listOfIds.toString())
            errorMessage.append("\n")
        }
    }
    return errorMessage.toString();
}

2 个答案:

答案 0 :(得分:0)

使用

errorMessage.append("\n");

而不是

errorMessage.append(System.getProperty("\n"));

答案 1 :(得分:0)

您应该直接使用builder.append(&#34; \ n&#34;)。 \ n不是财产。

append方法也返回构建器对象本身(Builder模式)。所以你可以轻松地做builder.append(&#34; \ n&#34;)。追加(&#34; text1&#34;)。追加(&#34; \ n&#34;)。追加(&#34 ;文本2&#34).....