2016-01-06 3 views
2

У меня есть код здесь, чтобы рассчитать чей-то возраст с типом даты SQL в java. код работает отлично, но тем не менее вы не можете увидеть его в коде, наклеенной здесь, но в моей среде Netbeans методы GET зачеркнуты, но только в этой строке:Почему методы 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();  

} 
+0

потому что они устарели. –

ответ

7

зачеркивания указывает, что эти методы устарели. Вы должны использовать либо java.util.Calendar, либо новый Java Datetime API (который является новым и улучшенным API, который использует LocalDate, является частью) для вычисления этих значений для даты.

Например документ API говорит:

@Deprecated
общественного ИНТ getYear()

устар. Начиная с версии JDK версии 1.1, с заменой на Calendar.get (Calendar.YEAR) - 1900.
Возвращает значение, которое является результатом вычитания 1900 из года, который содержит или начинается с момента времени, представленного этим объектом Date , как интерпретируется в локальном часовом поясе.

+0

И добавить к этому, 'LocalDate.getDate()' и др. _not_ устарели, поэтому они не вычеркнуты. – yshavit

Смежные вопросы