一:将String字符串放在最前面
防止发生NullPointerException异常,我们通常把String字符串放在equals方法的左边来比较,这样可以有效的避免
空指针异常的发生。
第一种情况,如果variable为Null,则会发生空指针异常情况;第二种情况即使variable为Null,也不会发生空指针异常,而且不会丢失任何数据。所以建议
大家编程时把直接量放在左边。
二:不要相信早期的JDK API
在早期编程中,JDK API还不是很成熟,例如下面代码块:
File file=new File("..."),file封装了一个目录或者文件,调用list()方法,如果是目录,则返回字符串数组;如果不是,则返回null;
所以我们可以提前添加一些校验,如以下代码所示:
三:不要相信-1
在javadoc中明确规定String.indexOf()如果返回值为-1,则表示该字符在字符串中不存在;或者当我们使用IO流读取文件时,也定义为-1
时读取完毕。如下代码:
目前看来这种方式很凑效,但是如果java改变了编码方式,定义返回-2为更好的方式呢,所以建议使用第二种。
四:避免意外赋值
如下代码:
第一种情况:将==号写成=,就会意外将5赋值为变量;第二种情况:不会发生意外赋值的情况;
第三种情况:===是JavaScript中全等符号,类型相同,值也相等。
五:检查Null和Length
无论如何,只要你有一个集合或者数组,首先要确保它存在,并且不为空。
代码如下:
第二种方式更好,避免了早期版本JDK API 的错误。
六:所有的方法都是final的
避免子类继承父类的所有方法。