J2SE 5.0 (代號 Tiger) 是 Java 語言發展史上的重要里程碑,引入了泛型、列舉、元資料(註解)、自動裝箱/拆箱、可變參數、靜態導入及新執行緒框架等重大特性。Eclipse 從 3.1M4 版本起開始支援 J2SE 5.0 開發,當時最新版為 3.1RC4。
J2SE 5.0 提供的元資料支援稱為「註解」。開發人員可在不改變原有邏輯的前提下,在原始碼中嵌入補充資訊。程式碼分析工具、開發工具、部署工具可透過這些資訊進行驗證或部署。
以往在 JavaDoc 中以文字說明「參數或回傳值不可為 null」,表達方式多樣,工具難以自動分析。使用註解則能標準化地表達前置條件與後置條件,輕鬆解決此問題。
使用 @interface 關鍵字即可宣告註解。最簡單的註解:
public @interface TODO {}
在註解中定義成員,語法如同定義無參數方法,無需 getter/setter:
public @interface TODO {
String priority();
}
@TODO(priority = "high")
public void calculate() {
// 方法體省略
}
若註解僅有一個成員,且名稱為 value,使用時可直接給值:
@TODO("high")
public @interface TODO {
String priority();
String owner();
boolean testable() default true;
}