2012-06-16 25 views
0

的我有这样通长[],而不是长

void doSmth(Long... paramg){ 
} 

功能,但我不能通过long[]而不是Long...。为什么?我认为这是相同的事情(它们之间有什么区别?)。

我该如何通过long []而不是Long ...?

+1

长是基本类型和长是一个类。自动装箱使它们看起来几乎完全相同,但是数组不是自动装箱的。所以只需传递一个Long []'。 –

+0

@GregS谢谢。看起来像我期望太多) –

+1

@biovamp数组自动装箱不能工作,没有明显的开销,这不是一件好事,因为人们可能会期望它的效率超过它的魔力。您将不得不更改签名或创建一个新数组并手动循环。 – Voo

回答

7

long可以autoboxedLong,而不是阵列(long[]

long[]工作应该是

void doSmth(long... paramg){ 
}