在java开发过程中,我们时常需要调用自己或者别人的方法,在调用方法时不可避免一个问题,那就是参数问题。
我们调用方法时常需要传入参数,这时就涉及到一个问题,那就是到底是在调用方法前检查参数的合法性还是在方法
中检查参数的合法性。带着这个问题,我看了一些java API,发现java API方法一般对调用者没有做任何限制,也没要
求调用者在调用函数前先检查参数的非空等,而是在函数内对非空等进行处理(抛出异常); 如File的构造方法中是在
调用时对参数进行处理,判断是否非空,并抛出异常
或者基于方法的含义,假设用户能正确调用函数,如果用户不能合法的使用方法,也会抛出空指针异常。TreeMap中putAll()方法没有限制用户
不能传入null,而是假设用户能正确理解方法含义并传入正确参数,当传入null时也是会报空指针异常的。
这样将方便留给了调用者,而对参数的合法性判断则在方法中进行。因此我们在实际的调用中,如果方法并没有对参数加以限制,我们可以不对参数进行
非空判断,而留给方法的提供者,因此我们在提供方法时,需要考虑参数非空的情况,并对其进行合适的处理。
以上只是我个人的见解,有不足之处,望各位不吝批评指正,帮助我学习和成长。