java 继承 @Accessors(chain = true)
时间: 2023-11-10 16:04:15 浏览: 351
@Accessors(chain = true) 是 lombok 提供的一个注解,用于生成链式调用的方法。在 Java 中,通常我们需要手动编写一系列的 setter 方法来实现链式调用,而使用 @Accessors(chain = true) 注解后,lombok 会自动生成这些方法,从而简化了代码的编写。
例如,我们有一个类:
```
@Getter
@Setter
public class Person {
private String name;
private int age;
}
```
如果我们想要实现链式调用,需要手动编写 setter 方法:
```
public Person setName(String name) {
this.name = name;
return this;
}
public Person setAge(int age) {
this.age = age;
return this;
}
```
而使用 @Accessors(chain = true) 注解后,lombok 会自动生成这些方法:
```
@Getter
@Setter
@Accessors(chain = true)
public class Person {
private String name;
private int age;
}
```
相关问题
java @Accessors(chain = true)
@Accessors(chain = true)是Lombok库中的一个注解,用于开启链式编程。当设置chain = true时,setter方法会返回对象自身(this),而不是默认的返回void。这样可以实现链式操作对象的效果。例如,在一个类中使用@Accessors(chain = true)注解后,可以通过连续调用setter方法来设置对象的属性值,而无需每次都创建一个新的对象。这样可以简化代码并提高代码的可读性。\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* [lombok @Accessors用法详解(一看就能懂)](https://blog.csdn.net/qq_43842093/article/details/118914546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [@Accessors用法详解](https://blog.csdn.net/m0_60741988/article/details/120654630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
java中@accessors(chain = true)作用
@Accessors(chain = true) 是 lombok 注解之一,它可以为类中的属性生成 setter 方法,并且返回值为当前对象,即可以实现链式调用。
例如,我们定义一个类:
```
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class User {
private String name;
private Integer age;
}
```
使用 @Accessors(chain = true) 后,我们可以这样使用该类:
```
User user = new User().setName("Tom").setAge(20);
```
可以看到,我们可以在一个代码行中进行连续的 set 操作。这种方式更加简洁和易读,也减少了一些冗余的代码。
阅读全文