首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java连接各种方法(不是连接字符串的方法)

问Java连接各种方法(不是连接字符串的方法)
EN

Stack Overflow用户
提问于 2013-03-08 03:48:23
回答 2查看 3.3K关注 0票数 1

当我编写一个带有几个空格的类时:

代码语言:javascript
复制
public class MyObj {
    public void doSomething() { /* does something */ }
    public void doSomethingElse() { /* does something else */ }
    ...
}

我可以使用以下代码:

代码语言:javascript
复制
MyObj myObj = new MyObj();
myObj.doSomething(); // does something
myObj.doSomethingElse(); // does something else

但是如果我像这样写这个类:

代码语言:javascript
复制
public class MyObj {
    public MyObj doSomething() {
        // do something;
        return this;
    }
    public MyObj doSomethingElse() {
        // do something else;
        return this;
    }
}

我可以使用以下代码来完成相同的任务:

代码语言:javascript
复制
MyObj myObj = new MyObj();
MyObj.doSomething().doSomethingElse(); // does something and does something else.

我已经在JavaScript (JQuery)中看到了第二种形式:

代码语言:javascript
复制
$("#myDialog").dialog().focus().mySuperLongNameHomeMadeBullshitFunction().remove();

所以我的问题是,在Java中,使用连接形式或标准的优缺点是什么?(我真的不打算改成第二种,只是好奇,就像我们大家一样)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-08 03:51:10

Method chaining允许您在单个表达式中调用这些方法。

这在不能使用多个语句的情况下很有用--例如this()和super()。

票数 4
EN

Stack Overflow用户

发布于 2013-03-08 03:53:48

使用方法链接可以允许使用fluent API创建一些DSL,并创建更清晰的代码。

它可以让你在做同样的事情时更简洁,更有意义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15280388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档