前言
链式调用的好处在于一方面可以尽可能的少去类型转换的判定,而且大大增强了代码的阅读性,也就是更符合人类阅读的习惯,同时也减少了代码量。
普通方法:
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中有大量实现。但是不利于代码调试。