9.7 设置字符串的格式
我们在 3.6 节中学习了如何用 printf 以特定的格式显示输出。在有些情况下,程序需要创建特定格式的字符串,但不马上显示它们,甚至根本不显示。例如,下面的方法返回了一个以 12 小时制表示时间的字符串:
public static String timeString(int hour, int minute) {String ampm;if (hour < 12) {ampm = "AM";if (hour == 0) {hour = 12; // 午夜}} else {ampm = "PM";hour = hour - 12;}return String.format("%02d:%02d %s", hour, minute, ampm);}
String.format 接受的参数与 System.out.printf 相同:一个格式说明符和一系列的值。主要的差别在于,System.out.printf 将结果显示到屏幕上,而 String.format 创建一个新的字符串,但什么都不显示。
在这个示例中,格式说明符 %02d 表示将整数显示为两位(不够两位就添加前导零),因此 timeString(19, 5) 返回字符串 "07:05 PM"。
