在java開發過程中,我們時常需要調用自己或者別人的方法,在調用方法時不可避免一個問題,那就是參數問題。
我們調用方法時常需要傳入參數,這時就涉及到一個問題,那就是到底是在調用方法前檢查參數的合法性還是在方法
中檢查參數的合法性。帶着這個問題,我看了一些java API,發現java API方法一般對調用者沒有做任何限制,也沒要
求調用者在調用函數前先檢查參數的非空等,而是在函數內對非空等進行處理(拋出異常); 如File的構造方法中是在
調用時對參數進行處理,判斷是否非空,並拋出異常
或者基於方法的含義,假設用戶能正確調用函數,如果用戶不能合法的使用方法,也會拋出空指針異常。TreeMap中putAll()方法沒有限制用戶
不能傳入null,而是假設用戶能正確理解方法含義並傳入正確參數,當傳入null時也是會報空指針異常的。
這樣將方便留給了調用者,而對參數的合法性判斷則在方法中進行。因此我們在實際的調用中,如果方法並沒有對參數加以限制,我們可以不對參數進行
非空判斷,而留給方法的提供者,因此我們在提供方法時,需要考慮參數非空的情況,並對其進行合適的處理。
以上只是我個人的見解,有不足之處,望各位不吝批評指正,幫助我學習和成長。