下面的程序是與下面線這裏tutorial.I的一部分具有一定的混亂 :公曆:混亂與調用方法的對象上
GregorianCalendar gCal = new GregorianCalendar();
gCal.add(GregorianCalendar.YEAR, 1);
this.expiryDate = gCal.getTime();
不應上面的代碼是這樣的這樣的:
GregorianCalendar gCal = new GregorianCalendar();
SomeDatatype variable = gCal.add(GregorianCalendar.YEAR, 1);
this.expiryDate = variable.getTime();
以下是原文程序的一部分:
package models;
import java.util.Date;
import java.util.GregorianCalendar;
import utilities.GenderType;
public class Customer {
private String title;
private String firstName;
private String surname;
private String address;
private String phoneNumber;
private String email;
private int customerNumber;
private GenderType gender;
private boolean isvalid;
private Date expiryDate;
public Customer(String title, String firstName, String surname, String address,
String phoneNumber, String email, int customerNumber, GenderType gender) {
setName(title, firstName, surname);
this.address = address;
this.phoneNumber=phoneNumber;
this.email = email;
this.customerNumber = customerNumber;
this.gender = gender;
this.isvalid = true;
GregorianCalendar gCal = new GregorianCalendar();
gCal.add(GregorianCalendar.YEAR, 1);
this.expiryDate = gCal.getTime();
}
}
add方法返回void,這意味着你不能將它分配給任何數據類型。 add方法修改gCal對象併爲其添加年份,所以當調用gCal.getTime()時它已更新日期。 – Laxman