8

我的队友向我介绍了不会返回无效的新练习写作方法。

public class Test {
   public Test doCalculations() {
      //code
      return this;
   }
   public Test appendTitle(String test) {
      //code
      return this;
   }
}

他们建议返回对象本身,而不是返回 void。他们说这种方法的优点之一是可以链接方法。

而不是写:

 while(1) {
    test.appendTitle("aaa");
    test.doCalculations();
    map.add(test);
 }

您可以编写更优雅的代码:

 while(1) {
     map.add(test.appendTitle("aaa").doCalculations());
 }

这种方法有什么缺点?您是否建议将其包含在日常使用中?

4

1 回答 1

2

我会说这不是一个好习惯。通过查看返回对象的方法签名,我如何知道它是正在返回的全新实例还是正在返回的现有实例。请注意,在不可变类的情况下,修改后的方法确实会返回该类的新实例.

于 2013-06-07T08:57:46.403 回答