java中如何实现setter链式调用?

前言

如何让自己的代码更加简洁?如何让自己的代码看起来更加具有逼格?
setter链式调用是你的不二之选 ,让你在代码逼格上成功前进了一大步!
在这里插入图片描述

方式一

setter 返回当前的POJO ,而不是void无返回值,并且返回this。

public class Student {
    
    
    //姓名
    private String name;
    //年龄
    private Integer age;
    //爱好
    private String like;
	
	//get方法为了测试结果
    public String getName() {
    
    
        return name;
    }

    public Integer getAge() {
    
    
        return age;
    }

    public String getLike() {
    
    
        return like;
    }

    public Student setName(String name){
    
    
        this.name = name;
        return this;
    }

    public Student setAge(Integer age){
    
    
        this.age = age;
        return this;
    }

    public Student setLike(String like){
    
    
        this.like = like;
        return this;
    }
}

测试结果:
在这里插入图片描述

public class SetterMain {
    
    
    public static void main(String[] args) {
    
    
        Student student = new Student();
        student.setName("丁大大").setAge(23).setLike("钓鱼");
        System.out.println("姓名:"+student.getName()+"\n年龄:"+student.getAge()+"\n爱好:"+student.getLike());
    }
}

运行结果如下图:
在这里插入图片描述

方式二

使用lombok来实现。先说明下注解如下:
@Data: lombok的注解,加上后编译时会自动生成set、get等方法。
@Accessors(chain = true): Accessor的中文含义是存取器,用于配置getter和setter方法的生成结果。chain的中文含义是链式的,设置为true,则setter方法返回当前对象
代码如下:

@Data
@Accessors(chain = true)
public class Student {
    
    
    //姓名
    private String name;
    //年龄
    private Integer age;
    //爱好
    private String like;
}

这个其实就相当于使用了注解帮我们自动写成了第一种方式,结果什么的是一样的,有兴趣了解lombok的可以自己去学习了,个人十分推荐,非常方便好用!
测试结果与方法一保持一致,不再赘述了!

路漫漫其修远兮,吾必将上下求索~
如果你认为i博主写的不错!写作不易,请点赞、关注、评论给博主一个鼓励吧**转载请注明出处哦**

猜你喜欢

转载自blog.csdn.net/weixin_43829443/article/details/113940535