Annotation(註解)是 JDK 5.0 引入的元數據機制,允許在包、類、方法、字段、參數、局部變量聲明上關聯任意信息(name=value 對)。本質是一個繼承 java.lang.annotation.Annotation 的接口,運行時通過反射讀取。
@Override)。@AnnotationName)。SOURCE)、編譯至 class (CLASS) 或運行時保留 (RUNTIME)。@SuppressWarnings("unchecked"),行為似修飾符。@interface 聲明,成員以無參方法形式定義,可有默認值。@Override。value,如 @FruitName("Apple")。@FruitProvider(id=1, name="...")。@Override、@Deprecated、@SuppressWarnings。@Target、@Retention、@Documented、@Inherited。displayname() vs displayName())。@deprecated Javadoc 標簽:前者編譯器識別,後者文檔工具識別。建議雙重標記並遷移至 @Deprecated。String[] value(),常用縮寫 @SuppressWarnings("unchecked")。| 參數 | 抑制警告類型 |
|---|---|
| deprecation | 使用過時 API |
| unchecked | 泛型未檢查轉換(如原始集合類型) |
| fallthrough | switch 缺少 break |
| path | 類路徑/源路徑不存在 |
| serial | 可序列化類缺少 serialVersionUID |
| finally | finally 塊不能正常完成 |
| all | 以上所有 |
示例:@SuppressWarnings({"rawtypes", "unchecked"}) 同時抑制原始類型與未檢查轉換警告。