如何应用Java的链式方法调用

简介:


6.5.3  如何应用方法链式调用

在以前的章节中,应用如下方式在一行语句中按先后次序连续调用多个方法:
 
String futureValueStr = NumberFormat.getCurrencyInstance().format(2987655. 
32276);
 
这种方法调用被称作方法链式调用。上面这行代码实际是如下两行语句的简化:
 
NumberFormat currency = NumberFormat.getCurrencyInstance();
String futureValueStr = currency.format(2987655.32276);
 
不难看出,适当使用方法链式调用可以简化代码的编写,提高编程效率。但并不是所有方法调用都适合于链式调用。方法链式调用的语法要求如下:
 
Identifier.method1().method2().[methodn_1()].methodn()
 
其中:
Identifier ——可以是对象,或者类。
格式中除了最后一个方法 methodn() 不要求必须返回对象或对象引用外,其余方法, method1() methodn_1() 都必须返回一个支持方法调用的对象或对象引用;否则将无法完成链式调用,而产生语法错误。
方法链式调用的原理是显而易见的。因为第一个方法调用返回的是该方法的对象引用,因而这个引用可以产生下一个方法调用;如此而已,生成一个调用链。因为最后一个方法调用意味着这个调用链的结束,所以没有必要必须有返回类型。如果方法链式调用应用在输出或者赋值语句中,它的最后一个方法通常返回某个运算结果。
注意    不适当使用方法链式调用将消弱程序的可读性。





















本文转自高永强51CTO博客,原文链接: http://blog.51cto.com/yqgao/166912  ,如需转载请自行联系原作者

相关文章
|
1月前
|
人工智能 Java API
Java也能快速搭建AI应用?一文带你玩转Spring AI可落地性
Java语言凭借其成熟的生态与解决方案,特别是通过 Spring AI 框架,正迅速成为 AI 应用开发的新选择。本文将探讨如何利用 Spring AI Alibaba 构建在线聊天 AI 应用,并实现对其性能的全面可观测性。
353 10
|
4月前
|
人工智能 安全 Java
Java和Python在企业中的应用情况
Java和Python在企业中的应用情况
148 7
|
4月前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
319 3
|
25天前
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
27天前
|
缓存 Java 物联网
CRaC技术助力ACS上的Java应用启动加速
容器计算服务借助ACS的柔性算力特性并搭配CRaC技术极致地提升Java类应用的启动速度。
|
1月前
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
2月前
|
Java 编译器 开发者
Java中的this关键字详解:深入理解与应用
本文深入解析了Java中`this`关键字的多种用法
255 9
|
2月前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
60 5
|
2月前
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
271 5
|
2月前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis,从基础到高级的深度细节应用
本文详细介绍了MyBatis,一个轻量级的Java持久化框架。内容涵盖MyBatis的基本概念、配置与环境搭建、基础操作(如创建实体类、Mapper接口及映射文件)以及CRUD操作的实现。此外,还深入探讨了高级特性,包括动态SQL和缓存机制。通过代码示例,帮助开发者更好地掌握MyBatis的使用技巧,提升数据库操作效率。总结部分强调了MyBatis的优势及其在实际开发中的应用价值。
46 1