zoukankan      html  css  js  c++  java
  • lombok

    一、@Data注解

    @Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor。
    就是自动生成get和set方法,toStirng方法,hash和equal方法等

    二、@Getter和@Setter

    注解在属性上为属性生成get和set方法

    三、@NotNull

    该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。 示例如下:

    import lombok.NonNull;
    public class NonNullExample extends Something {
      private String name;
      
      public NonNullExample(@NonNull Person person) {
        super("Hello");
        this.name = person.getName();
      }
    }
    

    四、@Cleanup

    该注解能帮助我们自动调用close()方法,很大的简化了代码。将IO流自动用try-finally包围,并在最后自动关闭

    五、@EqualsAndHashCode

    默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。

    import lombok.EqualsAndHashCode;
    
    @EqualsAndHashCode(exclude={"id", "shape"})
    public class EqualsAndHashCodeExample {
      private transient int transientVar = 10;
      private String name;
      private double score;
      private Shape shape = new Square(5, 10);
      private String[] tags;
      private int id;
      
      public String getName() {
        return this.name;
      }
      
      @EqualsAndHashCode(callSuper=true)
      public static class Square extends Shape {
        private final int width, height;
        
        public Square(int width, int height) {
          this.width = width;
          this.height = height;
        }
      }
    }
    

    六、@ToString

    类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
    通过exclude属性可以排除属性
    通过将includeFieldNames参数设为true,就能将属性的变量名和值对应打出,否则只打印值。

    七、@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

    无参构造器、部分参数构造器、全参构造器。Lombok没法实现多种参数构造器的重载。

  • 相关阅读:
    Vue框架之基础知识
    Vue框架之初识
    Django组件之modelformset
    Django之小结
    Django组件之modelform
    Django之form表单详解
    jquery基础知识2
    jQuery基础知识1
    js基础知识4
    js基础知识3
  • 原文地址:https://www.cnblogs.com/ylcc-zyq/p/12547493.html
Copyright © 2011-2022 走看看