我需要在租金数组中添加一个日期,但是Eclipse希望将LocalDate转换为String,但我不希望它是String
public class Rent {
private int id;
private int days;
public Rent(int id, LocalDate dateOfRent, int d1, LocalDate returnDate) {
this.id = id;
dateOfRent = LocalDate.now();
days = d1;
returnDate = LocalDate.now();
}
}
在我的Rent数组上,错误显示在给定的日期上,它要求我将其转换为String并在我的应用程序中出现更多错误
Rent[] rentArray = {
new Rent(61, "2019-05-16", 5, "2019-05-21"),
new Rent(55, "2019-02-16", 10,"2019-02-26"),
new Rent(51, "2019-01-09", 7, "2019-01-19"),
};
答案 0 :(得分:1)
来自comment:
谢谢,但是如何在Rent [] rentArray中实现呢?
您创建一个便捷的构造函数,即重载/替代构造函数:
public Rent(int id, String dateOfRent, int d1, String returnDate) {
this(id, LocalDate.parse(dateOfRent), d1, LocalDate.parse(returnDate));
}
现在您的代码将按编写的方式工作。
答案 1 :(得分:0)
正如@shmosel所说,您可以执行以下操作:
Rent[] rentArray = {
new Rent(61, LocalDate.parse("2019-05-16"), 5, LocalDate.parse("2019-05-21")),
new Rent(55, LocalDate.parse("2019-02-16"), 10, LocalDate.parse("2019-02-26")),
new Rent(51, LocalDate.parse("2019-01-09"), 7, LocalDate.parse("2019-01-19"))
};
或修改您的构造函数,以日期作为String,然后使用解析
LocalDate.parse
在构造函数内部