我有一个StringBuilder对象,

StringBuilder result = new StringBuilder();
result.append(someChar);

现在我想向StringBuilder添加一个换行符。我该怎么做呢?

result.append("/n"); 

不管用。我在考虑用Unicode写一个换行符。这有用吗?如果有,我怎么添加一个?


当前回答

你可以用直线。用于添加新行的分隔符

其他回答

也可以在字符串中使用行分隔符。format(参见java.util.Formatter),它也是平台不可知的。

例如:

result.append(String.format("%n", ""));

如果你需要添加更多的行间距,只需使用:

result.append(String.format("%n%n", ""));

你也可以使用StringFormat格式化你的整个字符串,在结尾加一个换行符。

result.append(String.format("%10s%n%n", "This is my string."));

应该是这样

r.append("\n");

但我建议你这样做,

r.append(System.getProperty("line.separator"));

System.getProperty("line.separator")提供java中与系统相关的换行符。同样在Java 7中,还有一个直接返回值的方法:

转义应该使用\,而不是/。

所以r.append (' \ n ');或r.append(“\ n”);将工作(StringBuilder重载char和String类型的方法)。

你可以用直线。用于添加新行的分隔符

我创建了类似于stringbuilder的原始类,可以通过调用方法appendLine(String str)来追加行。

public class StringBuilderPlus {

    private StringBuilder sb;

    public StringBuilderPlus(){
         sb = new StringBuilder();
    }

    public void append(String str)
    {
        sb.append(str != null ? str : "");
    }

    public void appendLine(String str)
    {
        sb.append(str != null ? str : "").append(System.getProperty("line.separator"));
    }

    public String toString()
    {
        return sb.toString();
    }
}

用法:

StringBuilderPlus sb = new StringBuilderPlus();
sb.appendLine("aaaaa");
sb.appendLine("bbbbb");
System.out.println(sb.toString());

控制台:

aaaaa
bbbbb