是否可以在不事先声明方法的情况下将参数列表传递给方法?

Zac*_*ack 1 java

给定一种方法,例如:

public void blit(int[] pos) {
   do stuff..
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有先声明它们的情况下传入参数列表?

例如,在Python中,我可以做类似的事情:

def blit(pos):
   stuf...

blit([20,50])
Run Code Online (Sandbox Code Playgroud)

我只需传入一个专门在参数列表中创建的列表.要在Java中执行等效操作,我似乎必须首先声明数组,然后才能将它传递给方法.

int[] coordinates = {20,50};
blit(coordinates);
Run Code Online (Sandbox Code Playgroud)

这不是什么大不了的事,但如果我可以做一些像这样的话,它会很方便

blit({20,50});
Run Code Online (Sandbox Code Playgroud)

但是,这当然不起作用.我也试过在调用中创建数组,比如

blit(new int[] = {20,40});
Run Code Online (Sandbox Code Playgroud)

但同样,没有运气.所以,也许是一个可怕的问题,但有没有办法将参数列表传递给一个模仿部分Python行为的方法?

ass*_*ias 7

你可以用两种方式做到:

blit(new int[] {20,40});
Run Code Online (Sandbox Code Playgroud)

或者用varargs声明你的方法:

public void blit(int... pos) {}
Run Code Online (Sandbox Code Playgroud)

并称之为:

blit(20, 40);
Run Code Online (Sandbox Code Playgroud)