有效java第5项示例代码第二版 公共类人物 私人最终日期出生日期; //其他字段省略 公共布尔值isBabyBoomer(){ 日历gmtCal= Calendar.getInstance(TimeZone.getTimeZone(“GMT”)); gmtCal.set(1946年,日历1月1日,0日,0日); Date boomStart=gmtCal.getTime(); gmtCal.set(1965年,日历1月1日,0日,0日); Date boomEnd=gmtCal.getTime(); 返回birthDate.compareTo(boomStart)>=0&&//birthDate实例在哪里 //比照 出生日期。与(婴儿期)相比=和
假设有效java第5项示例代码第二版 公共类人物 私人最终日期出生日期; //其他字段省略 公共布尔值isBabyBoomer(){ 日历gmtCal= Calendar.getInstance(TimeZone.getTimeZone(“GMT”)); gmtCal.set(1946年,日历1月1日,0日,0日); Date boomStart=gmtCal.getTime(); gmtCal.set(1965年,日历1月1日,0日,0日); Date boomEnd=gmtCal.getTime(); 返回birthDate.compareTo(boomStart)>=0&&//birthDate实例在哪里 //比照 出生日期。与(婴儿期)相比=和,java,object,effective-java,Java,Object,Effective Java,假设生日是最终的,我会说它是通过构造函数传递给类的 在书籍和其他教程材料中,通常会省略一些与给定示例无关的代码,以避免给读者造成额外的误解 方法compareTo返回int,因此如果要将其转换为布尔结果,必须使用其中一个运算符=,!=,将其与某个数字进行比较= 您希望如何使用简单返回 这本书假设你可以自己解决这些问题,所以我建议你试着这样做。你可以回答这些问题而不需要任何额外的信息,这里没有技巧;为boomStart建议一个不同的日期,并说明为什么这可能比使用1月1日更好。谢谢你,peter,我
生日是最终的,我会说它是通过构造函数传递给类的
在书籍和其他教程材料中,通常会省略一些与给定示例无关的代码,以避免给读者造成额外的误解
方法compareTo
返回int
,因此如果要将其转换为布尔结果,必须使用其中一个运算符=,!=,将其与某个数字进行比较=代码>
您希望如何使用简单返回
这本书假设你可以自己解决这些问题,所以我建议你试着这样做。你可以回答这些问题而不需要任何额外的信息,这里没有技巧;为boomStart
建议一个不同的日期,并说明为什么这可能比使用1月1日更好。谢谢你,peter,我们可以将return写为return birthDate.compareTo(boomStart)和&birthDate.compareTo(boomEnd);在不知道如何设置生日的情况下,我很难进行测试(编译)。任何人都可以通过编写完整的代码来获得生日信息,谢谢大家对compareTo()
API的讨论。
public class Person
private final Date birthDate;
// others fields omitted
public boolean isBabyBoomer() {
Calendar gmtCal =
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
gmtCal.set(1946,Calendar.JANUARY,1,0,0,0);
Date boomStart =gmtCal.getTime();
gmtCal.set(1965,Calendar.JANUARY,1,0,0,0);
Date boomEnd = gmtCal.getTime();
return birthDate.compareTo(boomStart) >= 0 && //where is Birthdate instance
// to compare
birthDate.compareTo(boomEnd) < 0;
}
}