Java Lombok之@Accessors用法及说明
概述
Lombok是Java对象的库,通过注解的形式简化了对象的创建及Getter和Setter方法的定义等繁琐操作。其中,@Accessors注解是Lombok中提供的方便生成链式方法的注解。
@Accessors注解的使用
@Accessors注解有下列常用属性:
- fluent:若为true,则生成的setter方法返回该对象,否则无返回值;
- chain:若为true,则生成的setter方法返回该对象;
- prefix:给生成的方法加上前缀;
- readOnly:是否给成员变量设置为final;
- lazy : 若为true,则会生成双重检查锁的单例模式代码。
示例1
@Data
@Accessors(chain = true)
public class Person {
private String name;
private int age;
private String gender;
}
public class TestPerson {
@Test
public void testSetValues() {
Person person = new Person();
person.setName("Tom").setAge(20).setGender("male");
System.out.println(person);
}
}
在这段代码中,我们定义了一个Person类,使用@Data注解,同时为该Person类使用了@Accessors(chain = true)注解,这表示开启链式编码模式。在TestPerson中我们使用该Person类,并调用set方法为其成员变量赋值并打印输出。
示例2
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString(exclude = "password")
@Accessors(chain = true, prefix = "u")
public class User {
private String name;
private String password;
private int age;
private String email;
}
public class TestUser {
@Test
public void testSetValues() {
User user = new User().setUName("test").setUPassword("123456").setUAge(18).setUEmail("test@test.com");
System.out.println(user);
}
}
在这段代码中,我们定义了一个User类,使用@Getter、@Setter、@NoArgsConstructor、@AllArgsConstructor、@ToString(exclude = "password")注解,同时为该User类使用了@Accessors(chain = true, prefix = "u")注解,这表示开启链式编码模式并且生成的方法加上u前缀。在TestUser中我们使用该User类,并调用set方法为其成员变量赋值并打印输出。
总结
@Accessors注解可以方便的生成符合编码规范的链式调用方法,从而简化对象创建及对对象成员变量的操作,提高了代码的可读性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java Lombok之@Accessors用法及说明 - Python技术站