1. 程式人生 > >Android Studio遇到的錯誤:java.lang.NullPointerException及解決方法

Android Studio遇到的錯誤:java.lang.NullPointerException及解決方法

使用Android Studio,執行Textview.settext時遇到的誤:java.lang.NullPointerException,空指標異常,如下:

Caused by: java.lang.NullPointerException
                                                                    at imooc.com.topbar.TopbarLayout.setToptext(TopbarLayout.java:68)
                                                                    at imooc.com.topbar.MainActivity.onCreate(MainActivity.java:21)

空指標說明一定有東西為null。於是我測試了一下

public void setToptext(String a){
  
    if(textView3==null){
        Log.d("測試textView3==null","textView3==null");
    }else {
        textView3.setText(a);
    }
}

果然,打印出

03-14 14:09:12.731 5609-5609/imooc.com.topbar D/測試textView3==null: textView3==null

說明我的textview3沒有指向一個實際存在的物件,因此就無法呼叫該物件的屬性和方法,也就造成空指標異常。

null是所有引用型別的預設值,如果沒有讓一個引用指向一個實際存在的物件,它的預設值就是null。

於是我在setToptext方法中重新對textview3進行例項化,如下:

public void setToptext(String a){
   
    TextView textViewtop=findViewById(R.id.textviewtitle2);
    if(textViewtop==null){
        Log.d("測試textView3==null","textView3==null");
    }else {
        textViewtop.setText(a);
    }
}

程式就可以正常運行了。

因此一旦出現空指標異常的錯誤,一定要去找哪一個引用沒有指向實際存在的物件,導致為null。