新公司你們都用IDEA,最終捨棄Eclipse入鄉隨俗,失去了一些功能,也獲得了一些功能,用了兩個月終於習慣後感受比Eclipse更好用?app
偶然知道還有Lombok少寫代碼的這種Coding神器,使用其註解可以在咱們編譯源碼的時候自動爲咱們生成不少Code。ide
註解 | 做用 |
@ToString | 自動生成ToString方法 |
@Getter@Setter | 自動生成Getter和Setter方法 |
@Slf4j | 自動生成一個使用Slf4j的log常量,無需再聲明log,coding可直接log.info |
註解 | 做用 |
@NonNull | or: How I learned to stop worrying and love the NullPointerException.ui |
@Cleanup | Automatic resource management: Call your close() methods safely with no hassle. |
@Getter/@Setter | Never write public int getFoo() {return foo;} again. |
@ToString | No need to start a debugger to see your fields: Just let lombok generate a toString for you! |
@EqualsAndHashCode | Equality made easy: Generates hashCode and equals implementations from the fields of your object.. |
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor | Constructors made to order: Generates constructors that take no arguments, one argument per final / non-nullfield, or one argument for every field. |
@Data | All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor! |
@Value | Immutable classes made very easy. |
@Builder | ... and Bob's your uncle: No-hassle fancy-pants APIs for object creation! |
@SneakyThrows | To boldly throw checked exceptions where no one has thrown them before! |
@Synchronized | synchronized done right: Don't expose your locks. |
@Getter(lazy=true) | Laziness is a virtue! |
@Log | Captain's Log, stardate 24435.7: "What was that line again?" |