java - 调用void方法然后在一行上传递对象

wer*_*318 0 java methods void

这是我很久以来一直想知道的事情.

是否可以传递一个对象,但首先在同一行中调用该对象上的void方法?这很难解释,但我会举一个例子:

我正在使用Vector来自第三方API 的对象,它只保存3个坐标,我将它传递给一个组合setLocation(Vector)方法; 但首先我要将3添加到该Vector的Y值,这是由Vector#addY(3f);可以在同一行上执行此操作吗?

setLocation(new Vector(0f,4f,0f).addY(3));
Run Code Online (Sandbox Code Playgroud)

我认为这应该解释我的意思.

Mik*_*and 5

如果您可以更改addY()以"返回此",那么您就可以开展业务了.

由于它是第三方API,您可能只需要一个辅助函数:

Vector makeAndSetupVector(float f1, float f2, float f3, int y) {
   Vector vect = new Vector(f1, f2, f3);
   vect.addY(y);

   return vect;
}
Run Code Online (Sandbox Code Playgroud)

现在你可以这样做:

setLocation(makeAndSetupVector(0f, 4f, 0f, 3));
Run Code Online (Sandbox Code Playgroud)