昨天在調(diào)試一段Android程序的時(shí)候發(fā)現(xiàn)總是出現(xiàn)NullPointerException,是來(lái)自一句System.out.println(),但是把里面的內(nèi)容分拆了幾次都找不到哪里有null,最后發(fā)現(xiàn)居然是因?yàn)樽罱K輸出的字符串是null!
一直以來(lái),在JavaSE里,如果字符串本身是null,System.out.println()打印該字符串,會(huì)在終端輸出“null”,而在Android里卻是直接拋出NullPointerException,整個(gè)程序都會(huì)被終止。
大家可以測(cè)試一下下面的語(yǔ)句在兩種環(huán)境下的運(yùn)行結(jié)果:
一直以來(lái),在JavaSE里,如果字符串本身是null,System.out.println()打印該字符串,會(huì)在終端輸出“null”,而在Android里卻是直接拋出NullPointerException,整個(gè)程序都會(huì)被終止。
大家可以測(cè)試一下下面的語(yǔ)句在兩種環(huán)境下的運(yùn)行結(jié)果:
1 String s = null;
2 System.out.println(s);
2 System.out.println(s);