天天看点

如何应用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 ,如需转载请自行联系原作者