void methodA () { ... if (str != null) { methodB (str); } } void methodB (String str) { ... } (呼び側主義) とするか。 呼ばれ側主義者の主張はこう。 呼び元で null check すると複数箇所に同じ check コードが分散し、コード量を増大させる null check をせずに NullPointerException が発生するのは恥ずかしい 事実これまで、呼ばれ側で null check しないと困ることが多かった(プラグマティズム) 一方、呼び側主義者の主張はこう。 メソッド先頭に null check の if 文がずらずらと並ぶのは可読性を損ねる JDK のライブラリ群だって null を入れたら NullPointerException を投げている この議論は平行線をたどり、