Java @Deprecated Annotation

1. Áttekintés

Ebben a gyors bemutatóban áttekintjük a Java elavult API-ját, és hogyan kell használni az @Elavult annotáció.

2. A @Elavult Megjegyzés

A projekt fejlődésével az API is változik. Idővel vannak bizonyos kivitelezők, mezők, típusok vagy módszerek, amelyeket már nem szeretnénk, hogy az emberek használják.

Ahelyett, hogy megszakítanánk a projekt API visszamenőleges kompatibilitását, ezeket az elemeket a @Elavult annotáció.

@Elavult azt mondja más fejlesztőkneka megjelölt elemnek már nem szabad használva lenni. Gyakori, hogy néhány Javadoc-ot is hozzáadunk a @Elavult kommentár, amely elmagyarázza, mi lenne a megfelelő viselkedést szolgáló jobb alternatíva:

public class Worker {/ ** * Időszak kiszámítása a * @deprecated verziók között * 

Használja helyette a {@link Utils # calcPeriod (Machine)} alkalmazást. * * @param géppéldány * @return kiszámított idő * / @Deprecated public int kiszámítja (Machine machine) {return machine.exportVersions (). size () * 10; }}

Ne feledje, hogy a fordító csak akkor jeleníti meg az elavult API figyelmeztetést, ha a kommentált Java elemet valahol a kódban használják. Tehát ebben az esetben csak akkor jelenik meg, ha létezik kód, amely a kiszámítja módszer.

Is, az elavult állapotot a dokumentációban is közölhetjük a Javadoc segítségével @elavult címke.

3. Opcionális attribútumok hozzáadva a Java 9-be

A Java 9 néhány opcionális attribútumot ad hozzá a @Elavult kommentár: mivel és forRemoval.

A mivel attribútumhoz olyan karakterláncra van szükség, amely lehetővé teszi, hogy meghatározzuk, melyik verzióban volt az elem elavult. Az alapértelmezett érték egy üres karakterlánc.

És forRemoval egy logikai ez lehetővé teszi számunkra, hogy meghatározzuk, eltávolítjuk-e az elemet a következő kiadásban. Alapértelmezett értéke hamis:

public class Worker {/ ** * Időszak kiszámítása a változatok között * @deprecated * Ez a módszer már nem elfogadható a verziók közötti idő kiszámításához. * 

Használja helyette a {@link Utils # calcPeriod (Machine)} alkalmazást. * * @param géppéldány * @return kiszámított idő * / @Deprecated (mivel = "4.5", forRemoval = true) public int kiszámítja (Machine machine) {return machine.exportVersions (). size () * 10; }}

Egyszerűen fogalmazva, a fenti használat azt jelenti kiszámítja könyvtárunk 4.5 óta elavult, és eltávolítását a következő nagy kiadásban tervezik.

Hasznos nekünk ezt hozzáadni azóta a fordító erősebb figyelmeztetést fog adni nekünk ha megállapítja, hogy olyan értékű módszert alkalmazunk.

És már van támogatás az IDE-k részéről-val jelölt módszer használatának észlelése forRemoval = true. Az IntelliJ például fekete helyett piros vonallal áthúzza a kódot.

4. Következtetés

Ebben a gyors cikkben láttuk, hogyan kell használni a @Elavult annotáció és opcionális attribútumai a már nem használható kód megjelölésére.

A példák teljes forráskódja megtalálható a GitHub oldalon.


$config[zx-auto] not found$config[zx-overlay] not found