欢迎来到天天文库
浏览记录
ID:50826712
大小:34.17 KB
页数:2页
时间:2020-03-15
《Java中null或空值的判断处理.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、null或空值的判断处理-java1,错误用法一: if(name==""){ //dosomething}2,错误用法二: if(name.equals("")){ //dosomething}3,错误用法三: if(!name.equals("")){ //dosomething}我们来解说一下:上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。上述用法二,用法
2、三的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。当然,如果之前已经对name作了null判断的情况例外。正确的写法应该先加上name!=null的条件,如例:if(name!=null&&!name.equals("")){ //dosomething}或者if(!"".equals(name)
3、){//将""写在前头,这样,不管name是否为null,都不会出错。 //dosomething}下面,我们举一个简单的例子:TestNullOrEmpty.javapublic class TestNullOrEmpty{ public static void main(String[]args){ Stringvalue=null; testNullOrEmpty(value); value=""; testNullOrEmpty(value);
4、 value=" "; testNullOrEmpty(value); value="hellome! "; testNullOrEmpty(value); } static void testNullOrEmpty(Stringvalue){ if (value== null ){ //正确的写法 System.out.println("valueisnull. "); } else if ("".equ
5、als(value)){ //正确的写法 System.out.println("valueisblankbutnotnull. "); } else { System.out.println("valueis/" "+value+"/" "); } if (value==""){ //NG错误的写法 //别用这种写法 } }}编译执行:c:/>javacTestNullOrEmpty.javac:/>javaT
6、estNullOrEmptyvalueisnull.valueisblankbutnotnull.valueis""valueis"hellome!"
此文档下载收益归作者所有