2010-02-22 18 views
6

Je migre depuis Java 1.1. à Java 5.Méthodes de date obsolètes de migration de version Java

Je remarque que certaines méthodes ont été dépréciées, par ex. java.util.Date a une méthode getYear() qui est dépréciée.

Ma question est de savoir si la méthode getYear() est laissé tel qu'il est en 1.1, il sera encore fonctionner en Java 5

Répondre

4

Oui, cela fonctionnera comme il était. Il ne peut être supprimé que dans les futures versions de Java SE. La dépréciation est purement documentaire et vous donne juste la possibilité de mettre à jour le code en attendant.

Actuellement, vous êtes censé utiliser les méthodes java.util.Calendar ou JodaTime API beaucoup plus amélioré. Le remplacement des API de date/heure dans Java SE standard sera similaire à JodaTime et doit toujours venir (JSR-310). Il était prévu pour JDK7, mais malheureusement, il ne semble pas être à temps.

+1

Il semble que JSR-310 pourrait encore faire JDK7: http://www.jroller.com/scolebourne/entry/new_job_impact_on_jsr – ColinD

+0

C'est un blog assez récent que je ne connaissais pas. Merci d'avoir partagé! – BalusC

4

Il fonctionnera quand même, même si elle est dépréciée. Ils l'ont remplacé par un «meilleur» (Calendar.get (Calendar.MONTH).), Mais l'original est laissé là pour des raisons de rétrocompatibilité. Il n'y a donc aucun problème à l'utiliser dans votre cas.

2

Cela fonctionnera mais ce n'est pas une mauvaise idée de commencer à penser à des alternatives.

getYear a été déprécié pour une raison; l'année associée à une Date dépend en fait des Locales et, en tant que telle, a été déplacée vers la classe Calendrier. Ce remodelage de la classe Date, qui extrait la dépendance Locale des données elles-mêmes, est quelque chose que vous voyez également dans les autres fonctionnalités liées à Date/Calendrier. En tant que tel, il pourrait être judicieux de passer aux calendriers, le cas échéant. Cela dit, je ne voudrais pas toucher à la date/calendrier de Java avec un bâton, je préfère des choses comme Apache Commons Lang et d'autres pour faire face à la plupart des choses liées à la date/l'heure. J'entends aussi que Yoda est populaire à cet égard.