正如我在评论中提到的,不要使用过时的
我试图理解格式化日期并将其添加为对象的参数的逻辑,但发现这很困难。我正在尝试使用SimpleDateFormat。。
myClassroom.addEnrolment(new Classroom("502","424"));
myClassroom.addEnrolment(new Classroom("503","425"));
myClassroom.addEnrolment(new Classroom("504","426"));
但试图实现它接受
myClassroom.addEnrolment(new Classroom("502","424", "2020-05-12"));
myClassroom.addEnrolment(new Classroom("503","425", "2020-04-22"));
myClassroom.addEnrolment(new Classroom("504","426", "2020-05-05"));
我都导入了。。
import java.text.SimpleDateFormat;
import java.util.Date;
并已在Classroom类中添加为参数/初始化。我该何去何从?感谢任何帮助我似乎找不到这个信息
编辑课堂属性:
import java.util.Date;
public class Classroom{
private String studID;
private String subjectID;
private Date dateEnroled;
public Classroom(String studID, String subjectID, Date dateEnroled)
{
this.studID = studID;
this.courseID = subjectID;
this.dateEnroled = dateEnroled;
}
Date
和SimpleDateFormat
。请改用LocalDate和DateTimeFormatter。查看此项了解更多详细信息。
按如下操作:
import java.time.LocalDate;
class Classroom {
private String studID;
private String subjectID;
private LocalDate dateEnroled;
public Classroom(String studID, String subjectID, LocalDate dateEnroled) {
this.studID = studID;
this.subjectID = subjectID;
this.dateEnroled = dateEnroled;
}
// Getters, setters, hashCode, equals and toString
}
public class Main {
public static void main(String[] args) {
myClassroom.addEnrolment(new Classroom("502","424", LocalDate.parse("2020-05-12"));
}
}
您需要一个接受字符串的构造函数,类似于以下内容:
public Classroom(String studID, String subjectID, String dateEnroled)
{
this.studID = studID;
this.courseID = subjectID;
this.dateEnroled = new java.text.SimpleDateFormat("yyyy-MM-dd")
.parse(dateEnroled);
}