昨天,有同事A对同事B写的程序进行测试时,出现错误,看控制台信息,发现抛出了空指针异常。
调查结果显示:当flag在配置文件中没有对应属性项时,这种隐患写法flag.equals("true")会抛出空指针错误。
解决办法:使用规范的写法"true".equals(flag),这样写的话,就算flag为空的话,也不会出现空指针异常。
顺便提一下equalsIgnoreCase(String str):
public boolean equalsIgnoreCase(String str)
判断当前字符串与str的内容是否相同,这个方法不会区分大小写字母的区别,即对大小写不敏感。
Java中对大小写是敏感的,而Linux环境对大小写不敏感。
调查结果显示:当flag在配置文件中没有对应属性项时,这种隐患写法flag.equals("true")会抛出空指针错误。
解决办法:使用规范的写法"true".equals(flag),这样写的话,就算flag为空的话,也不会出现空指针异常。
顺便提一下equalsIgnoreCase(String str):
public boolean equalsIgnoreCase(String str)
判断当前字符串与str的内容是否相同,这个方法不会区分大小写字母的区别,即对大小写不敏感。
Java中对大小写是敏感的,而Linux环境对大小写不敏感。