有些時候寫判斷的時候過於粗心了,今天就發現了自己的一個小問題,記下來是督促自己以後寫代碼切不可草率了,小問題可能引發大問題!
public class TestClass {
private Long testL = null;
public Long getTestL() {
return testL;
}
public void setTestL(Long testL) {
this.testL = testL;
}
}
在判斷上面的testL時我很粗心的直接使用了下面這種寫法(哭)
if (1L == JgoClass.getTestL()) {
......
}
這種寫法在testL的值不爲null時確實是可以判斷的,但是如果testL爲null時明顯是會拋出java.lang.NullPointerException異常的。我們應該規規矩矩的使用規範的判斷。
if (new Long(1L).equals(JgoClass.getTestL())) {
......
}
這個小錯讓我意識到自己很多時候在寫代碼的時候不夠細心,也沒有良好的編寫測試用例的習慣,自測時簡單的把“想當然”的測試用例通過後就萬事大吉,對於特殊值,邊界值,非法值等情況沒有耐心的考慮,實屬不應該。