Java函数调用时参数合法性检查时机

在java开发过程中,我们时常需要调用自己或者别人的方法,在调用方法时不可避免一个问题,那就是参数问题。

我们调用方法时常需要传入参数,这时就涉及到一个问题,那就是到底是在调用方法前检查参数的合法性还是在方法

中检查参数的合法性。带着这个问题,我看了一些java API,发现java API方法一般对调用者没有做任何限制,也没要

求调用者在调用函数前先检查参数的非空等,而是在函数内对非空等进行处理(抛出异常); 如File的构造方法中是在

调用时对参数进行处理,判断是否非空,并抛出异常


或者基于方法的含义,假设用户能正确调用函数,如果用户不能合法的使用方法,也会抛出空指针异常。TreeMap中putAll()方法没有限制用户

不能传入null,而是假设用户能正确理解方法含义并传入正确参数,当传入null时也是会报空指针异常的。


这样将方便留给了调用者,而对参数的合法性判断则在方法中进行。因此我们在实际的调用中,如果方法并没有对参数加以限制,我们可以不对参数进行

非空判断,而留给方法的提供者,因此我们在提供方法时,需要考虑参数非空的情况,并对其进行合适的处理。

以上只是我个人的见解,有不足之处,望各位不吝批评指正,帮助我学习和成长。

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