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())代码>