Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Attribute ใหม่ของ @Deprecated Annotation ใน Java 9

Enhanced @Deprecated ใน Java 9

Java 9 เพิ่ม 2 attributes ให้ @Deprecated annotation: since และ forRemoval ทั้งคู่เป็น optional มีค่า default

1. since (String)

ระบุ version ที่ API ถูก deprecated ค่า default = empty string

Syntax

@Deprecated(since="<version>")

2. forRemoval (boolean)

ระบุว่า API นี้ตั้งใจจะลบใน release หน้าหรือไม่ ค่า default = false

Syntax

@Deprecated(forRemoval=<boolean>)

ตัวอย่างการใช้งาน

public class DeprecatedAnnotationTest {
    public static void main(String[] args) {
        DeprecatedAnnotationTest test = new DeprecatedAnnotationTest();
        test.method1();
        test.method2();
    }
    
    @Deprecated(since="7.0")
    public void method1() {
        System.out.println("@Deprecated(since=\"7.0\")");
    }
    
    @Deprecated(since="5.0", forRemoval=true)
    public void method2() {
        System.out.println("@Deprecated(since=\"5.0\", forRemoval=true)");
    }
}

Output

@Deprecated(since="7.0")
@Deprecated(since="5.0", forRemoval=true)

ประโยชน์

  • ให้ข้อมูลเพิ่มเติมสำหรับ tooling (IDE, static analysis)
  • ช่วย developer ตัดสินใจ migrate ได้ดีขึ้น
  • forRemoval=true แจ้งเตือนว่าอาจถูกลบในอนาคต

สรุป

@Deprecated ใน Java 9 มีข้อมูล metadata ครบถ้วนขึ้น ช่วยให้การจัดการ deprecated API มีระบบและชัดเจน