我有一個方法,需要5個雙精度值,並與他們一起執行一個操作。現在參數列表是五個不同的雙打。有沒有辦法將double[]
作爲參數傳遞給該方法,但要確保其長度恰好爲5?Java:將預定長度的數組設置爲方法參數?
一種方法是這樣的:
private void myMethod(double[] args) {
if (args.length == 5) {
// do something
}
}
,但有沒有更好的辦法?
我有一個方法,需要5個雙精度值,並與他們一起執行一個操作。現在參數列表是五個不同的雙打。有沒有辦法將double[]
作爲參數傳遞給該方法,但要確保其長度恰好爲5?Java:將預定長度的數組設置爲方法參數?
一種方法是這樣的:
private void myMethod(double[] args) {
if (args.length == 5) {
// do something
}
}
,但有沒有更好的辦法?
如果你知道你需要5個雙打,那麼我認爲你最好要求5個不同的雙打。讓他們用有意義的名字列出來,它仍然會很難(即使在intellisense或任何它被稱爲的),以保持變量的順序。如果它們在數組中,那麼用戶需要查閱文檔以查看哪個值應該在哪個索引中進行。
不能。您不能限制傳遞給函數的數組長度。
如果您的目標是保持檢查代碼不在方法中,因此它更乾淨,您可以將實際工作委派給其他方法。
如果你關心的是參數列表的長度,你可以傳遞一個參數對象。
你可以創建一個類,它是Vector的一個專門化限於5雙打,但它似乎是矯枉過正。如果數組中的條目太少或太多,我只會引發異常 - 這可能是編程問題,而不是運行時異常。
你可以把你的代碼放在try-catch
塊中。這提供了錯過不必要的檢查。 但是,如果出現問題,你可以避免異常問題。