Java 有没有更简单的代码来分隔行?

Java 有没有更简单的代码来分隔行?,java,android,Java,Android,我用这段代码来分隔下一行,并留出空间 String sms="Name:"+name+ System.getProperty ("line.separator")+System.getProperty ("line.separator")+"ContactNumber:"+contactnumber+ System.getProperty ("line.separator")+"Quantity:"+quantity+System.getProperty ("line

我用这段代码来分隔下一行,并留出空间

String sms="Name:"+name+ System.getProperty ("line.separator")+System.getProperty   
   ("line.separator")+"ContactNumber:"+contactnumber+ System.getProperty 
   ("line.separator")+"Quantity:"+quantity+System.getProperty 
   ("line.separator")+"Number.of.Pcs:"+noofpieces+System.getProperty 
   ("line.separator")+"Date and Time:"+dateandtime
   +System.getProperty ("line.separator")+"Delivary 
   Address:"+deliveryaddress;

您可以使用
StringBuilder
实例,然后使用附加到
StringBuilder
的新行运算符。例如:

StringBuilder sb = new StringBuilder();
sb.append("Name: ").append(name);
sb.append("\n"); // for a new line.
无论如何,我强烈建议您使用StringBuilder附加到非常大的字符串


此外,您还可以使用,但是,这可能只适用于Java和Java 7的JVM,而不适用于Android(因此我肯定会检查一下。)

您可以使用
StringBuilder
实例,然后使用附加到
StringBuilder
的新行操作符。例如:

StringBuilder sb = new StringBuilder();
sb.append("Name: ").append(name);
sb.append("\n"); // for a new line.
无论如何,我强烈建议您使用StringBuilder附加到非常大的字符串


此外,您还可以使用,但是,这可能只适用于Java和Java 7的JVM,而不适用于Android(因此我肯定会检查)。使用
System.getProperty(“line.separator”)
是一个很好的实践,因为它将为您提供可以在其他平台上重用的代码。要简化代码,可以使用TextUtils.join:

String sms = TextUtils.join(System.getProperty("line.separator"), 
    new String[] {
        "Name:" + name , 
        "ContactNumber:" + contactnumber, 
        ...});

使用
System.getProperty(“line.separator”)
是一种很好的做法,因为它将为您提供可以在其他平台上重用的代码。要简化代码,可以使用TextUtils.join:

String sms = TextUtils.join(System.getProperty("line.separator"), 
    new String[] {
        "Name:" + name , 
        "ContactNumber:" + contactnumber, 
        ...});

您也可以使用此解决方案

String format = "Name: %s%n%nContactNumber: %s%nQuantity: %s%nNumber.of.Pcs: %s%nDate and Time: %s%nDelivery Address: %s";
String sms = String.format(format, name, contactnumber, quantity, noofpieces, dateandtime, deliveryaddress);

您在Javadoc中找到的

格式占位符的解释也可以使用此解决方案

String format = "Name: %s%n%nContactNumber: %s%nQuantity: %s%nNumber.of.Pcs: %s%nDate and Time: %s%nDelivery Address: %s";
String sms = String.format(format, name, contactnumber, quantity, noofpieces, dateandtime, deliveryaddress);

您在Javadoc中找到的

System.lineSeparator()
格式占位符的解释是java 7,而android不是。java的早期版本使用
System.getProperty(“line.separator”)
。android@blackpanther明确记录了此属性。如果使用StringBuilder,则不应使用加号运算符连接要附加的值,因为这将创建另一个StringBuilder,然后再附加该StringBuilder。e、 在你上面的例子中,
sb.append(“Name:+Name”)将编译为
sb.append((新的StringBuilder()).append(“名称:”).append(s.toString())
System.lineSeparator()
是java 7,而android不是。java的早期版本使用
System.getProperty(“line.separator”)
。android@blackpanther明确记录了此属性。如果使用StringBuilder,则不应使用加号运算符连接要附加的值,因为这将创建另一个StringBuilder,然后再附加该StringBuilder。e、 在你上面的例子中,
sb.append(“Name:+Name”)将编译为
sb.append((新的StringBuilder()).append(“名称:”).append(s.toString())