註解類型 Delegate
放在任何欄位上,使 lombok 產生委派方法,將呼叫轉發到此欄位。範例
private @Delegate List<String> foo;例如,將會產生一個
boolean add(String)
方法,其包含:return foo.add(arg);
,以及 List
中的所有其他方法。欄位類型的所有 public 實例方法,以及欄位類型之所有父類型的所有 public 實例方法都會被委派,但 Object
中的所有方法、canEqual(Object)
方法,以及出現在 excludes
屬性中列出的類型中的任何方法除外。完整文件請見 @Delegate 的 project lombok 功能頁面。
-
可選元素摘要
可選元素
-
元素詳細資料
-
types
Class<?>[] types通常欄位的類型會被用作委派類型。但是,若要選擇不同的類型來委派,您可以在此處列出一個(或多個)類型。請注意,帶有類型引數的類型只能作為欄位類型完成。一個解決方案是建立一個私有內部介面/類別,並擴展適當的類型,並可能列出所有您想要委派的方法,然後在此處提供該類別。欄位實際上不必實作您要委派的類型;此處列出的類型僅用於確定要產生哪些委派方法。注意:Object
中的所有方法以及canEqual(Object other)
永遠不會被委派。- 回傳
- 對於這些類型中的每個方法(不包括
java.lang.Object
中已有的方法),產生一個委派方法。
- 預設
{}
-
excludes
Class<?>[] excludes此處列出的任何類型(包括父類型)中的每個方法都不會被委派。注意:Object
中的所有方法以及canEqual(Object other)
永遠不會被委派。- 回傳
- 對於這些類型中的每個方法(不包括
java.lang.Object
中已有的方法),跳過產生委派方法(覆蓋types()
)。
- 預設
{}
-