防止發生NullPointerException異常,我們通常把String字符串放在equals方法的左邊來比較,這樣可以有效的避免
空指針異常的發生。
第一種情況,如果variable為Null,則會發生空指針異常情況;第二種情況即使variable為Null,也不會發生空指針異常,而且不會丟失任何數據。所以建議
大家編程時把直接量放在左邊。
在早期編程中,JDK API還不是很成熟,例如下面代碼塊:
File file=new File("..."),file封裝了一個目錄或者文件,調用list()方法,如果是目錄,則返回字符串數組;如果不是,則返回null;
所以我們可以提前添加一些校驗,如以下代碼所示:
在javadoc中明確規定String.indexOf()如果返回值為-1,則表示該字符在字符串中不存在;或者當我們使用IO流讀取文件時,也定義為-1
時讀取完畢。如下代碼:
目前看來這種方式很湊效,但是如果java改變了編碼方式,定義返回-2為更好的方式呢,所以建議使用第二種。
如下代碼:
第一種情況:將==號寫成=,就會意外將5賦值為變量;第二種情況:不會發生意外賦值的情況;
第三種情況:===是JavaScript中全等符號,類型相同,值也相等。
無論如何,只要你有一個集合或者數組,首先要確保它存在,並且不為空。
代碼如下:
第二種方式更好,避免了早期版本JDK API 的錯誤。
避免子類繼承父類的所有方法。