com.android.internal.os.LoggingPrintStream.println(LoggingPrintStream.java:298)
拋出空指針異常,NullPointerException,奇怪了,我沒有調用這個方法啊,只是
System.out.println()出字符串信息?難不成println空指針字符串會出錯爲了驗證這個問題,我特地寫了如下代碼再onCreate()裏:
String responseBody = null;
System.out.println(responseBody);
當啓動的時候你發現什麼了,果然是應用程序異常退出,然後看到logcat裏報空指針錯誤,天啊!怎麼會這樣。看了一下源碼,
294 @Override
295 public synchronized void println(String s) {
296 if (builder.length() == 0) {
297 // Optimization for a simple println.
298 int length = s.length();
299
300 int start = 0;
....
天啊,這段代碼竟然沒有判斷s是否爲空指針而直接取length了,難怪會報異常,希望android源碼開發者們能看到這個問題,並且改正,要不然每一次在System.out.println()都要判斷是否爲空指針是多麼可怕的事情啊!