Java的链式调用

前言

链式调用的好处在于一方面可以尽可能的少去类型转换的判定,而且大大增强了代码的阅读性,也就是更符合人类阅读的习惯,同时也减少了代码量。
普通方法:
  1:维护性强
  2:对方法的返回类型无要求
  3:对程序员的业务要求适中
链式方法:
  1:编程性强
  2:可读性强
  3:代码简洁
  4:对程序员的业务能力要求高
  5:不太利于代码调试

示例

public class User {
    private String username;
    private String password;
    public void getUsername(String username) {
        this.username=username;
    }

    public User setUsername(String username) {
        this.username = username;
        return this;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    public static void main(String[] args) {
        User user = new User();
        user.setUsername("lss0555").setPassword("123456");
        System.out.println("user:"+user.toString());
    }
}
结果

user:User{username=’lss0555’, password=’123456’}

总结:链式调用有个缺点,本质上是在set值得时候返回this,链式调用需要手动写setter部分的代码(可以先用ide生成,然后手动改相关的setter部分代码,通过这种方式来减少工作量)
这种写法经常与Builder设计模式一起使用,在Android中有大量实现。但是不利于代码调试。

猜你喜欢

转载自blog.csdn.net/u010520146/article/details/81738938