1、空地址引用:
if(!s.equal(""))
...
String类型s可能是一些返回值或者输入值,导致s为null,这样就会报异常;
正确的写法应该是:
if(!s.equal("")&&s!=null)
....
或者
if(!"".equal(s))//这样从语法上不会报错,但是可能语义上是有问题的,会漏判
...
另外,需要指出的是,复杂类型比较时,equal()方法比较的是内容,==比较的只是他们的地址,因为声明的类型变量只是存放指向复杂类型内容块的地址变量,相当于C指针;
if(!s.equal(""))
...
String类型s可能是一些返回值或者输入值,导致s为null,这样就会报异常;
正确的写法应该是:
if(!s.equal("")&&s!=null)
....
或者
if(!"".equal(s))//这样从语法上不会报错,但是可能语义上是有问题的,会漏判
...
另外,需要指出的是,复杂类型比较时,equal()方法比较的是内容,==比较的只是他们的地址,因为声明的类型变量只是存放指向复杂类型内容块的地址变量,相当于C指针;
版权声明:本文为CSDN博主「fliklike」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fliklike/article/details/83773073
原文链接:https://blog.csdn.net/fliklike/article/details/83773073