Java函數調用時參數合法性檢查時機

在java開發過程中,我們時常需要調用自己或者別人的方法,在調用方法時不可避免一個問題,那就是參數問題。

我們調用方法時常需要傳入參數,這時就涉及到一個問題,那就是到底是在調用方法前檢查參數的合法性還是在方法

中檢查參數的合法性。帶着這個問題,我看了一些java API,發現java API方法一般對調用者沒有做任何限制,也沒要

求調用者在調用函數前先檢查參數的非空等,而是在函數內對非空等進行處理(拋出異常); 如File的構造方法中是在

調用時對參數進行處理,判斷是否非空,並拋出異常


或者基於方法的含義,假設用戶能正確調用函數,如果用戶不能合法的使用方法,也會拋出空指針異常。TreeMap中putAll()方法沒有限制用戶

不能傳入null,而是假設用戶能正確理解方法含義並傳入正確參數,當傳入null時也是會報空指針異常的。


這樣將方便留給了調用者,而對參數的合法性判斷則在方法中進行。因此我們在實際的調用中,如果方法並沒有對參數加以限制,我們可以不對參數進行

非空判斷,而留給方法的提供者,因此我們在提供方法時,需要考慮參數非空的情況,並對其進行合適的處理。

以上只是我個人的見解,有不足之處,望各位不吝批評指正,幫助我學習和成長。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章