01/10/2018, 09:46

Giải thích các thắc mắc về Predefined Annotation Types trong Java 8

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,
         ElementType.METHOD})
@Inherited
@Documented
public @interface Role {
    String[] value() default {};
}

Ai làm nhiều về Java 8 có thể giải thích cho mình hiểu rõ hơn về Java 8.

  1. Những annotation sử dụng trong class này được không ?
  2. Khi nào thì nên sử dụng annotation, và mục đích chính của nó sử dụng khi nào ?
  3. Cho 1 ví dụ demo ?

Mình mong nhận được sự đóng góp chia sẻ từ mọi người ạ…!!!

Thiều Quang Lâm viết 11:50 ngày 01/10/2018
  1. @Retention cho biết Annotation tác động lên khi nào. Ở đây là dùng lúc Runtime.
    @Target cho ta biết là Annotation này dùng ở đâu. Cụ thể là dùng ở TYPE(class,type,…) và METHOD
  2. Annotation dùng để thực hiện nhanh một số chức năng gì đó. Ví dụ như thay vì gọi hàm xóa số trong chuỗi name mỗi lần setter: xoaSo(name);
    thì chỉ cần viết annotation làm điều đó và gọi 1 cách đơn giản hơn ngay filed
    @XoaSo
    String name;

Để hiểu rõ hơn bạn hãy Tham khảo thêm ở đây: https://codeaholicguy.com/2015/06/30/getting-deal-with-custom-java-annotations/
và http://o7planning.org/vi/10197/huong-dan-su-dung-java-annotation

Tạ Duy Hoàng viết 12:02 ngày 01/10/2018

Mình cám ơn bạn nhé…

Bài liên quan
0