java
中是否存在原始Java
代码或库,用于格式化字符串,如下面C#
中所做的那样?
来源:Format a string into columns(C#)
public string DropDownDisplay {
get {
return String.Format("{0,-10} - {1,-10}, {2, 10} - {3,5}"),
Name, City, State, ID);
}
}
答案 0 :(得分:2)
Java为String.format()
提供了各种格式和数字格式化选项。
不需要额外的库,它是一个内置功能。</ p>
语法与您的示例非常相似。基本上,要打印String,您可以使用%s
占位符。对于十进制数字,请使用%d
。请参阅上面的链接以获取所有可能类型的完整列表。
String name = "Saskia";
int age = 23;
String formattedText = String.format("%s is %d years old.", name, age);
如果需要类似列的输出,可以为其他填充和对齐添加标记。
String formattedText = String.format("%-10s is %-5d years old.", name, age);
在%-10s
中%s
定义String类型,-
用于左对齐,10
定义填充的宽度。
答案 1 :(得分:2)
Java还有一个String
格式选项:
public String DropDownDisplay(){
return String.format("%-10s - %-10s, %10s - %5s", "name", "city", "state", "id");
}
有许多格式说明符:
%s
- 字符串值%d
- 十进制整数要指定宽度,您可以使用%SomeNumber
选项,
正数将在指定宽度内右对齐,负数将为左对齐。
您可以使用Java format examples
答案 2 :(得分:1)
简单的String方法format
与C的printf相同。
但是JDK类java.text.MessageFormat提供了一组非常丰富的格式化方法。