Android无法System.out.println出null

今天在采集错误时,发现有一个诡异异常:
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()都要判断是否为空指针是多么可怕的事情啊!
发布了21 篇原创文章 · 获赞 0 · 访问量 3534
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章