【バグ解決】java.lang.NullPointerExceptionのいくつかの原因と解決方法

1296 ワード

理由:
1、文字列変数が初期化されていない2、インタフェースタイプのオブジェクトが特定のクラスで初期化されていない.例えば、Mapmap//Mapmap=new Map();//3、1つのオブジェクトの値が空の場合、空と判断しない場合.4、文字列と文字の比較、文字は1つの文字列またはEnumの要素であり、以下のように異常String str=nullが現れる.if(str.equals("Test"){//ここのコードはトリガーされません.java.lang.Null PointerException異常が放出されるからです.}5、toString()の代わりにString.valueOf()メソッドを優先します.プログラムコードにオブジェクトの文字列表示形式が必要な場合は、そのオブジェクトを使用するtoStringメソッドは避けてください.オブジェクトの参照がnullに等しい場合、NullPointerExceptionは放出されます.静的String.valueOfメソッドを使用して、このメソッドは例外を放出せずに「null」6、classが宣言されたタイプを印刷します.デフォルトclass=nullです.このようにclassの中の方法を呼び出す時システムはあなたに空のポインタの異常を与えることしかできなくて、実例化すればいいです:class=new Class();7、nullを返します.メソッドの戻り値は一般的なタイプではなく、配列で定義されます.これによりnullに戻りたいときに不要なNull PointerExceptionを避けることができます
私が太くした2つはよくある、無視しやすいエラーで、ほとんどが文字列比較の場合str=nullなのでstr.equals(「Test」)を使うと異常nullが文字列と比較できない方法は2つあります.
  • は、比較前に文字列が空であるか否かを判断する
  • である.
  • 入力パラメータstrが空の値である場合、プログラムは異常になり、文字列を前に置くべきである:
  • "Test".equals(str)
    

    2つ目がおすすめです.
    記事の参考:https://blog.csdn.net/qq_44543508/article/details/94589868
    もし文章があなたに役に立つなら、私にほめてあげるのを忘れないでください(̄▽̄)~私の微信の公衆番号に注目してください:リス技術ステーション