0
点赞
收藏
分享

微信扫一扫

Transformer 位置编码代码解析

徐一村 2023-04-24 阅读 91

Lombok是一种Java库,可以自动插入编辑器和构建工具中,从而消除Java的冗长代码。在开发过程中,Lombok可以帮助程序员通过注解来自动生成代码。

下面是Lombok常用的注解:

@AllArgsConstructor

该注解可以为类自动生成一个包含所有参数的构造函数。

@AllArgsConstructor
public class Person {
    private String name;
    private int age;
}

上述代码中,@AllArgsConstructor注解可以自动生成一个包含所有参数的构造函数,等效于下面的代码:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

@Data

该注解为类自动生成getter、setter、equals、hashCode、toString等方法。

@Data
public class Person {
    private String name;
    private int age;
}

上述代码中,@Data注解可以自动生成getter、setter、equals、hashCode、toString等方法。

@Getter、@Setter

这两个注解可以为类自动生成getter、setter方法。

@Getter
@Setter
public class Person {
    private String name;
    private int age;
}

上述代码中,@Getter和@Setter注解可以自动生成相应的getter、setter方法。

@NoArgsConstructor、@RequiredArgsConstructor、@AllArgsConstructor

这三个注解可以为类自动生成不同类型的构造函数。其中,@NoArgsConstructor注解可以自动生成无参构造函数,@AllArgsConstructor注解可以自动生成包含所有参数的构造函数,@RequiredArgsConstructor注解可以自动生成包含final和@NonNull注解的参数的构造函数。

@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class Person {
    private final String name;
    @NonNull
    private int age;
}

上述代码中,@NoArgsConstructor注解可以自动生成无参构造函数,@AllArgsConstructor注解可以自动生成包含所有参数的构造函数,@RequiredArgsConstructor注解可以自动生成包含final和@NonNull注解的参数的构造函数。

@ToString

该注解为类自动生成toString方法。

@ToString
public class Person {
    private String name;
    private int age;
}

上述代码中,@ToString注解可以自动生成toString方法。

@Log

该注解为类自动生成日志输出变量。

@Log
public class Person {
    private String name;
    private int age;

    public void printLog() {
        log.info("Person name is {}", name);
        log.info("Person age is {}", age);
    }
}

上述代码中,@Log注解可以自动生成日志输出变量log,并在printLog方法中使用。

@Slf4j

该注解与@Log注解一样,可以为类自动生成日志输出变量。

@Slf4j
public class Person {
    private String name;
    private int age;

    public void printLog() {
        log.info("Person name is {}", name);
        log.info("Person age is {}", age);
    }
}

上述代码中,@Slf4j注解可以自动生成日志输出变量log,并在printLog方法中使用。

以上就是Lombok常用注解的详细说明和代码解析。

举报

相关推荐

0 条评论