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

时间:2014-01-19 10:31:16

标签: java methods void

这是我一直想知道的事情。

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

我正在使用来自第三方API的Vector对象,它只保存3个坐标,我将其传递给一个组成setLocation(Vector)的方法;但首先我想在Vector#addY(3f);完成对该向量的Y值添加3,那么是否可以在同一行上执行此操作?

setLocation(new Vector(0f,4f,0f).addY(3));

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

1 个答案:

答案 0 :(得分: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;
}

现在你可以做到:

setLocation(makeAndSetupVector(0f, 4f, 0f, 3));
相关问题