2011-10-28 57 views
0

我有一個方法,需要5個雙精度值,並與他們一起執行一個操作。現在參數列表是五個不同的雙打。有沒有辦法將double[]作爲參數傳遞給該方法,但要確保其長度恰好爲5?Java:將預定長度的數組設置爲方法參數?

一種方法是這樣的:

private void myMethod(double[] args) { 
    if (args.length == 5) { 
     // do something 
    } 
} 

,但有沒有更好的辦法?

回答

3

如果你知道你需要5個雙打,那麼我認爲你最好要求5個不同的雙打。讓他們用有意義的名字列出來,它仍然會很難(即使在intellisense或任何它被稱爲的),以保持變量的順序。如果它們在數組中,那麼用戶需要查閱文檔以查看哪個值應該在哪個索引中進行。

0

不能。您不能限制傳遞給函數的數組長度。

如果您的目標是保持檢查代碼不在方法中,因此它更乾淨,您可以將實際工作委派給其他方法。

如果你關心的是參數列表的長度,你可以傳遞一個參數對象。

0

你可以創建一個類,它是Vector的一個專門化限於5雙打,但它似乎是矯枉過正。如果數組中的條目太少或太多,我只會引發異常 - 這可能是編程問題,而不是運行時異常。

0

你可以把你的代碼放在try-catch塊中。這提供了錯過不必要的檢查。 但是,如果出現問題,你可以避免異常問題。

相關問題