java數(shù)組作為參數(shù)傳入函數(shù) java的可變參數(shù)為什么只能放在最后一個?
java的可變參數(shù)為什么只能放在最后一個?變量參數(shù)是Java1.5的一個新特性。當(dāng)參數(shù)個數(shù)不確定且類型確定時使用。Java將變量參數(shù)視為數(shù)組。變量參數(shù)有一個非常重要的說明,即當(dāng)一個方法中有多個參數(shù)時,
java的可變參數(shù)為什么只能放在最后一個?
變量參數(shù)是Java1.5的一個新特性。當(dāng)參數(shù)個數(shù)不確定且類型確定時使用。Java將變量參數(shù)視為數(shù)組。
變量參數(shù)有一個非常重要的說明,即當(dāng)一個方法中有多個參數(shù)時,它必須在最后一項中。
原因:變量參數(shù)用于傳遞不確定參數(shù)的數(shù)量,這意味著無論您提供多少參數(shù),只要是其類型,都將正確傳遞。如果它放在前面,并且傳遞了所有參數(shù),那么后面相同類型的參數(shù)將不會被傳遞。
而且,Java無法區(qū)分傳入的參數(shù)是屬于前一個變量參數(shù)還是屬于后一個參數(shù)。它按順序傳遞參數(shù)。例如,您編寫的方法中的形式參數(shù)是
public void method(int x,string name);
調(diào)用方法時,傳入?yún)?shù)的順序必須是
int first,然后是string,例如,method(18,“Bob”);如果順序不匹配,則為method(“Bob”,18);將報告錯誤。
因此,為了防止不必要的錯誤,Java只規(guī)定變量參數(shù)必須放在參數(shù)列表的最后一項,并且一個方法只能有一個變量參數(shù)。
以上只是一些個人觀點。如有不妥之處,歡迎批評指正!