Java-setter链式调用让你的代码更加优美

510 阅读2分钟

这是我参与更文挑战的第7天,活动详情查看: 更文挑战


前言

如何让自己的代码更加简洁?如何让自己的代码看起来更加具有逼格? 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方法返回当前对象

POM文件:

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>

代码如下:

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

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

总结

这种方式可以让我们不用在一行行的添加,只需要让我们一直点下去即可,十分方便快捷,主要是代码整洁度看起来舒服多了呀!

看起来像个高手的样子呀!哈哈哈哈


点赞收藏加关注不迷路哦~