有效的java项目编号5示例代码第二版

时间:2016-03-07 09:34:12

标签: java object effective-java

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;

}
}
  1. 程序何时以及如何获得生日实例?
  2. 他们是否省略了该实例的编码过程?
  3. 出于何种目的,他们将结果与零(&gt; =和&lt;)内部回报?
  4. 进行了比较
  5. 我们不能使用简单的返回而不使用零整数(仅用于测试的布尔值)?

1 个答案:

答案 0 :(得分:0)

  1. 鉴于事实birthDate是最终的,我会说它是通过构造函数传递给类的,

  2. 书籍和其他辅导材料中的常见做法是省略与给定示例无关的代码,以避免为读者创建额外的内容

  3. 方法compareTo返回int因此如果要将其转换为布尔结果,则必须使用其中一个运算符==, !=, <, >, <=, >= <将其与某个数字进行比较/ p>

  4. 您想如何使用简单的回报?