java链式调用空指针_java 链式调用
前言
现在很多开源库或者代码都会使用链式调用。因为链式调用在很多时候,都可以使我们的代码更加简洁易懂。以下Student类有多数个属性,让我们看看非链式调用和链式调用有何区别。
非链式调用
Main类:
/**
* Created by chenxuxu on 17-1-10.
*/
public class Main {
public static void main(String[] args) {
Student stu = new Student();
stu.setAge(22);
stu.setName("chenxuxu");
stu.setGrade("13级");
stu.setNo("123456789");
stu.setMajor("软件工程");
}
}
Student类:
/**
* 学生类
*
* Created by chenxuxu on 17-1-10.
*/
public class Student {
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private int age;
/**
* 学号
*/
private String no;
/**
* 年级
*/
private String grade;
/**
* 专业
*/
private String major;
//...此处省略getter&setter
}
链式调用
Main类:
/**
* Created by chenxuxu on 17-1-10.
*/
public class Main {
public static void main(String[] args) {
Student.builder()
.stuName("chenxuxu")
.stuAge(22)
.stuGrade("13级")
.stuMajor("软件工程")
.stuNo("123456789");
}
}
Student类:
/**
* 学生类
*
* Created by chenxuxu on 17-1-10.
*/
public class Student {
/**
* 不能通过new初始化
*/
private Student(){}
public static Builder builder(){
return new Builder();
}
static class Builder{
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private int age;
/**
* 学号
*/
private String no;
/**
* 年级
*/
private String grade;
/**
* 专业
*/
private String major;
public Builder stuName(String name){
this.name = name;
return this;
}
public Builder stuAge(int age){
this.age = age;
return this;
}
public Builder stuNo(String no){
this.no = no;
return this;
}
public Builder stuGrade(String grade){
this.grade = grade;
return this;
}
public Builder stuMajor(String major){
this.major = major;
return this;
}
}
}
结论
通过链式调用后,代码看起来简洁易懂。
java链式调用空指针_java 链式调用相关推荐
- java获取get请求返回_Java中处理调用第三方接口(post/get),该如何处理,返回的数据如何处理...
条件:1.请求URL:http://ip:port/yypt/*.jsonRequest 2.接口采用http post协议.Content-Type为application/json 调用流程: 第 ...
- java 对第三方的异常_Java第三方API调用打开文件方法时抛出异常
想用Java写一个音乐播放器,使用了Javazoom里的第三方API,调用打开文件的方法open(File file)时,抛出了IOException:Resetting to invalid mar ...
- java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份
Java项目中调用bat批处理配合使用BCP进行多用户数据的备份 一.项目需求 最近项目中需要对数据库(Sql Server系列数据库)进行备份.项目中的需求不是简单的整个数据库的备份,而是根据用户来 ...
- 编写Java程序 堆栈的接口_java - 错误:调用实现接口的通用方法时,java.lang.AbstractMethodError - 堆栈内存溢出...
我正在尝试使用javassist以编程方式创建和编译实现接口的类(在运行时). 每当我调用该动态类的实例时,都会收到以下错误消息: java.lang.AbstractMethodError: Foo ...
- java如何中断父类方法_java – 如何测试调用父类的受保护(不需要)方法的方法?...
我陷入了一个非常奇怪的情况. 我有一些我需要测试的特定代码. 这里是: public class A { /* * The real method of real class is so big th ...
- promise链式调用_这一次,彻底弄懂 Promise
Promise 必须为以下三种状态之一:等待态(Pending).执行态(Fulfilled)和拒绝态(Rejected).一旦Promise 被 resolve 或 reject,不能再迁移至其他任 ...
- Vue2 中 ?. 可选链式调用操作符出现的问题
一.什么是可选链式调用操作符 可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效.?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(n ...
- java中链式调用_Java及Android中常用链式调用写法简单示例
本文实例讲述了Java及Android中常用链式调用写法.分享给大家供大家参考,具体如下: 最近发现,目前大火的许多开源框架中,大多都使用了一种"(方法).(方法).(方法)"的形 ...
- Java8链式调用_java链式调用(转载http://www.cnblogs.com/quiet-snowy-day/p/6091233.html)
记录最近在项目设计中遇到的一个小问题. 前提:有这样两个POJO类,它们都可以通过链式调用的方式来设置其属性值,其中一个类继承了另一个类. 问题:通过链式调用,子类对象访问父类方法后,如何使返回对象仍 ...
最新文章
- 开发日记-20190815 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 23
- 数据结构-单向循环链表、双向循环链表、仿真链表
- python修改第三方库重写_Python安装第三方库,切换镜像源
- c语言宏高级用法,C语言宏高级用法 [总结]
- Java使用TCP实现群聊 聊天室(多线程和tcp的使用)
- 眨眼检测计算机不精确,基于OpenCV和Python错误的眨眼检测
- 云服务器惠普版_工作进度通报,笔记本开箱目录20200531版
- python长沙_python 长沙
- 简单方法去除WPS广告
- Windows7安装IIS服务器
- kindle阅读订阅的google reader时,词典不能工作的修正
- 多维向量空间中点到线的距离公式
- 计算机之父的童年故事教案,《计算机之父的童年故事》教学设计
- 阿兹尔海默症生物标志物(姑且叫标志物)的一些总结
- 关闭Windows Defender Service工具
- GlassFish漏洞总结复现
- Windows无法访问指定设备路径或文件,您可能没有合适的权限访问这个项目
- R16之Access to Unlicensed Spectrum(3)
- CodeForces 1015 C Songs Compression
- kettle 在Linux下执行kjb
热门文章
- ASP.NET站点导航(五)
- 中文整合包_MIMOSA2: 基于微生物组和代谢组数据的整合分析
- RabbitMQ六种队列模式-发布订阅模式
- c# mysql executenonquery_C#中ExecuteNonQuery()返回值注意点分析
- React-Native 填坑之ListView(item更新)
- 利用spring注解创建bean
- 如何在linux里面运行ncl,NCL基础讲解(二)——NCL安装与运行
- 使用mybatis操作AS400数据库
- intern()方法的使用
- 批量找注入 python3+sqlmap结合