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指针;