这对我来说是一个很合理也很常见的问题,也是初级程序员向中级程序员过渡时经常遇到的问题。他们不知道或不信任正在使用的约定,并且会小心检查是否为空。而他们在写代码的时候,总是依赖于返回NULL来表示什么,所以调用者需要检查是否为Null。换句话说,有两种情况会发生空指针检查:一种是约定俗成的合理响应,一种是不合理的响应;第二种很简单,要么使用assert,要么直接允许失败,比如NullPointerException。断言是从Java1.4添加的一个未被充分利用的特性。语法是:assertorassert: