【发布时间】:2021-02-21 13:35:51
【问题描述】:
所以,我有一个类“Person”,它包含一个带有 4 个参数的构造函数 - 3 个字符串和 1 个本地日期以及一个重写的 toString 方法,该方法将输出写入控制台(它还将 LocalDate 变量转换为字符串)。这是代码:
public class Person {
String name;
String surname;
LocalDate date;
String placeOfBirth;
Person (String name, String surname, LocalDate date, String placeOfBirth) {
this.name = name;
this.surname = surname;
this.date = date;
this.placeOfBirth = placeOfBirth;
}
public String toString () {
return name + " " + surname + " " + date.toString() + " " + placeOfBirth;
}
}
现在,在 main 方法中,我创建了 3 个具有不同参数的不同对象,并将它们全部添加到 ArrayList 中,如下所示:
ArrayList lista = new ArrayList();
lista.add(person1.toString());
lista.add(person2.toString());
lista.add(person3.toString());
for (Object data: lista) {
System.out.println(data);
}
程序运行良好,我得到以下格式的输出:
Michael Barton 1968-01-01 Krakov
现在,我希望将此日期显示为“01. January 1968”而不是“1968-01-01”。有没有办法在这段代码中以某种方式格式化?
提前致谢。
【问题讨论】:
-
A
LocalDate有一个方法format()以DateTimeFormatter作为参数。看看那个。