是否可以在将该对象传递给函数时调用对象的方法?

时间:2015-06-16 21:35:29

标签: java

说我有方法Foo createFoo()。我需要在boolean Foo.bar()返回的对象上调用方法Foo createFoo(),然后将对象传递给方法void baz(Foo someFoo)。有没有办法在一行中做到这一点?

如果我不需要致电boolean Foo.bar(),我本可以做到

baz(createFoo());

但是我无法做到这一点,因为它没有调用Foo.bar()。

我也不能这样做:

baz(createFoo().bar());

因为那会将从Foo.bar()返回的布尔值传递给baz,而不是实际的Foo对象。

1 个答案:

答案 0 :(得分:5)

不,如果您需要bar返回boolean,则必须使用

Foo foo = createFoo();
foo.bar();
baz(foo);

如果你发现自己一遍又一遍地重复这种模式,你当然也可以创建一种方便的方法

void barAndBaz(Foo foo) {
    foo.bar();
    baz(foo);
}

并做

barAndBaz(createFoo());