Java中@Accessors使用的实现示例

 更新时间:2025年11月28日 11:30:07   作者:彭于晏Yan  
本文主要介绍了Java中@Accessors使用的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

@Builder会生成一个不完美的构建器,不能区分哪些参数是必须的,哪些是可选的。这可能会导致构建对象时出现错误或不一致。

如果一个类有些参数必传,有些参数选传,可以将必传参数定义到构造方法上,非必传参数采用 @Accessor 方式链式设置。

一、@Accessors(chain = true)

开启链式编程 设置chain=true时,setter方法返回的是this(也就是对象自己),代替了默认的返回值void,直接链式操作对象。

示例:

@Data
@Accessors(chain = true) //开启链式编程
public class User implements Serializable {
    
    private String id;
    private String name;
    private int age;
 
    public static void main(String[] args) {
        User user = new User();
        user.setId("123").setAge(17).setName("小明");
        System.out.println(user);
    }
 }

二、@Accessors(fluent = true)

省略给对象赋值和取值时候得set、get前缀。

示例:

@Data
@Accessors(fluent = true)   //不用带set和get前缀
public class User implements Serializable {
 
    private String id;
    private String name;
    private int age;
 
    public static void main(String[] args) {
        User user = new User();
        user.id("124").age(19).name("小丽");
        System.out.println(user);
    } 
}

到此这篇关于Java中@Accessors使用的实现示例的文章就介绍到这了,更多相关Java @Accessors内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现鼠标拖放功能的方法

    Java实现鼠标拖放功能的方法

    这篇文章主要介绍了Java实现鼠标拖放功能的方法,很实用的功能,需要的朋友可以参考下
    2014-07-07
  • SpringBoot实现登录拦截器超详细教程分享

    SpringBoot实现登录拦截器超详细教程分享

    对于管理系统或其他需要用户登录的系统,登录验证都是必不可少的环节,尤其在 SpringBoot 开发的项目中。本文为大家准备了超详细的SpringBoot实现登录拦截器方法,快收藏一波吧
    2023-02-02
  • Spring Cloud详解实现声明式微服务调用OpenFeign方法

    Spring Cloud详解实现声明式微服务调用OpenFeign方法

    这篇文章主要介绍了Spring Cloud实现声明式微服务调用OpenFeign方法,OpenFeign 是 Spring Cloud 家族的一个成员, 它最核心的作用是为 HTTP 形式的 Rest API 提供了非常简洁高效的 RPC 调用方式,希望对大家有所帮助。一起跟随小编过来看看吧
    2022-07-07
  • Java Optional解决空指针异常总结(java 8 功能)

    Java Optional解决空指针异常总结(java 8 功能)

    这篇文章主要介绍了Java Optional解决空指针异常总结(java 8 功能),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • IntelliJ IDEA 2019.3激活破解的详细方法(亲测有效,可激活至 2089 年)

    IntelliJ IDEA 2019.3激活破解的详细方法(亲测有效,可激活至 2089&

    本教程适用于 JetBrains 全系列产品,包括 Pycharm、IDEA、WebStorm、Phpstorm、Datagrip、RubyMine、CLion、AppCode 等,本教程无需修改 hosts 文件,对IntelliJ IDEA 2019.3激活破解的详细方法的相关知识感兴趣的朋友一起看看吧
    2020-09-09
  • java操作elasticsearch的案例解析

    java操作elasticsearch的案例解析

    这篇文章主要介绍了java操作elasticsearch的案例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • java使用Socket实现文件上传功能

    java使用Socket实现文件上传功能

    这篇文章主要为大家详细介绍了java使用Socket实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 浅谈Java中的Queue家族

    浅谈Java中的Queue家族

    Java中Collection集合有三大家族List,Set和Queue。当然Map也算是一种集合类,但Map并不继承Collection接口。List,Set在我们的工作中会经常使用,通常用来存储结果数据,而Queue由于它的特殊性,通常用在生产者消费者模式中。今天这篇文章将带大家进入Queue家族。
    2021-06-06
  • 谈谈你可能并不了解的java枚举

    谈谈你可能并不了解的java枚举

    这篇文章主要给大家介绍了一些关于你可能并不了解的java枚举的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java中的List和MySQL中的varchar相互转换的解决方案

    Java中的List和MySQL中的varchar相互转换的解决方案

    实体类中有一个 List<String> 类型的属性,对应于 MySQL 表里的 varchar 字段,使用 MyBatis 添加或查询时能互相转换,本文给大家介绍Java中的List和MySQL中的varchar相互转换的解决方案,需要的朋友可以参考下
    2024-06-06

最新评论