標籤:int res features 分割 color 簡單的 last required 輸出
Lombok是一個可以通過簡單的註解形式來協助我們簡化消除一些必須有但顯得很臃腫的Java代碼的工具,通過使用對應的註解,可以在編譯源碼的時候產生對應的方法
pom依賴:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency>
下面只是介紹了幾個常用的註解,更多的請參見https://projectlombok.org/features/index.html
@Getter/@Setter
可以作用在類上和屬性上,放在類上,會對所有的非靜態(non-static)屬性產生Getter/Setter方法,放在屬性上,會對該屬性產生Getter/Setter方法。並可以指定Getter/Setter方法的存取層級。
@EqualsAndHashCode
預設情況下,會使用所有非瞬態(non-transient)和非靜態(non-static)欄位來產生equals和hascode方法,也可以指定具體使用哪些屬性。
@ToString
產生toString方法,預設情況下,會輸出類名、所有屬性,屬性會按照順序輸出,以逗號分割。
@NoArgsConstructor、@RequiredArgsConstructor、@AllArgsConstructor
無參構造器、部分參數構造器、全參構造器,當我們需要重載多個構造器的時候,Lombok就無能為力了。
@Data
@ToString, @EqualsAndHashCode, 所有屬性的@Getter, 所有non-final屬性的@Setter和@RequiredArgsConstructor的組合,通常情況下,我們使用這個註解就足夠了
使用樣本 (以下5個註解,可以只使用@Data註解代替):
@Getter@Setter@ToString@NoArgsConstructor@EqualsAndHashCodepublic class UserEntity { private String id; private String lastName; private String email; private Integer age;}
java之Lombok