为什么在此代码中划掉了get方法?

时间:2016-01-06 18:23:51

标签: java sql

我在这里有一段代码用java中的SQL日期类型来计算某人的年龄。 代码工作正常,但是你在这里粘贴的代码中看不到它,但是在我的netbeans环境中,get方法被删除了,但只在这一行:

LocalDate datumDB = LocalDate.of(gbdat.getYear() + 1900, gbdat.getMonth() + 1, 
  gbdat.getDate());
有谁知道为什么?

此行未划掉:

int leeftijd = datumVanVandaag.getYear() - datumDB.getYear();

这是我的代码:

private void checkSpelerGeschiktVoorPloeg(Persoon p) {       

    Date gbdat = p.getGbDatum();

    LocalDate datumVanVandaag = LocalDate.now();

    LocalDate datumDB = LocalDate.of(gbdat.getYear() + 1900, gbdat.getMonth() + 1, gbdat.getDate());

    int leeftijd = datumVanVandaag.getYear() - datumDB.getYear();       

}

1 个答案:

答案 0 :(得分:7)

删除线表示不推荐使用这些方法。您应该使用java.util.Calendar或新的Java 8 Datetime API(这是您正在使用的LocalDate所使用的新的和改进的API)来计算日期的这些值。

例如,API文档说:

  

@Deprecated
  public int getYear()

     

已过时。 从JDK 1.1版开始,由Calendar.get(Calendar.YEAR) - 1900取代。
  返回一个值,该值是从包含或以此Date对象表示的时刻开始的年份减去1900的结果,如本地时区中所解释的那样。