プロジェクトで発生した NullPointerException は、次の 2 つの状況に分けられます。
1. 空のオブジェクトを参照します。つまり、空のオブジェクトのメソッドを呼び出すか、空のオブジェクトのプロパティを参照します。
2. 8.の基本型のカプセル化クラスを対応する基本クラスに割り当てます。
1. 取得したオブジェクトが空かどうかがわからないため、他の人のインターフェイスから返されたオブジェクトに対して null でないことを判断する必要があります。返された String オブジェクトについては、通常、CollectionUtils MapUtils を呼び出します。 StringUtils.isNotEmpty()を呼び出して空でない判定を行います。このうち、isNotEmptyはNULLだけでなく空集合や空文字列も判定します。たとえば、データからのクエリ結果です。ワークフローで返された価格設定 URL
2. 作成するオブジェクトについては、オブジェクトがどのような操作を実行するか、および可能であればオブジェクトの途中が空になるかどうかに注意する必要があります。特にコレクション操作の場合は、レポートが簡単です。ヌルポインタです! ! !したがって、コレクションを操作するときは常に細心の注意を払います。
3. フォアグラウンドのフィールド オブジェクトには十分注意してください。これらのオブジェクトはフレームワークによって作成されます。フォアグラウンドのテキスト ボックスに値を入力しないと、送信時にバックエンドが空の文字列を取得する可能性があります。 NullPointerException の割合が非常に高いです。
4. String 操作の場合は、Apache の StringUtils クラスを使用してください。String と比較して、これは非常に安全です。コレクション操作には、Apache の CollectionUtils および MapUtils を使用します。Apache ツール クラスと比較して、実行効率も非常に高くなります (StringUtils.split();)。
判断をしすぎるとパフォーマンスに影響が出ると言う人もいますが、私は個人的には、システムのセキュリティに比べれば、パフォーマンスの犠牲は取るに足らないものだと考えています。