要搞清楚物件和物件的引用

2021-08-30 04:59:15 字數 389 閱讀 5657

有很多程式設計師還在寫這樣的**

user user = new user();

user = userdao.selectuserbyid(id);

user.getname();

他的理由是,為了防止執行user.getname()時發生空指標異常,所以先new出乙個物件,這樣即使從資料庫裡查詢不到對應id的使用者,程式也不會報錯。

這個想法真的很神奇,而事實是第一句**是廢話,你首先建立了乙個物件new user()我們稱它為使用者a,然後建立了乙個物件的引用user user指向使用者a,緊接著查詢資料庫userdao.selectuserbyid(id)返回另乙個物件使用者b,最後讓物件的引用user重新指向了使用者b,使用者b如果null,第三句空指標異常。

搞清楚LzoCodec和LzopCodec

使用lzo過程會發現它有兩種壓縮編碼可以使用,即lzocodec和lzopcodec,下面說說它們區別 lzocodec比lzopcodec更快,lzopcodec為了相容lzop程式新增了如bytes signature,header等資訊 如果使用 lzocodec作為reduce輸出,則輸出擴...

搞清楚陣列和指標

首先來看看幾個例子 int p a 指標陣列 int p b 陣列指標 int function int a 指標函式 int p int a 函式指標 int p a int a 函式指標陣列 在敘述陣列和指標的關係之前,先琢磨一下上面的五行 看你是否能一眼就看出來它們的確切含義。首先很關鍵的一點...

搞清楚你的 Rails Version

目前使用 rails 的網站,version 分成好幾派。rails 0.x 的就是幾年前就開始在使用 rails 的始祖,據我所知國內也是有網站還再用 0.x 他們之所以死撐不換的原因只有乙個,就是怕公升級上去原本的 code 根本不相容。1.0 的時候我沒趕上,那可能要問一些長輩才知道 1.0 ...