1. 程式人生 > >(43):返回零長度的陣列或者集合,而不是null

(43):返回零長度的陣列或者集合,而不是null

對於一個返回能夠null的方法,我們需要額外的程式碼去處理它,這樣做很容易出錯。因為我們很容易忘記處理null

有人認為null返回值比零長度陣列更好,因為避免了分配陣列所需要的開銷。這種觀點是錯誤的,原因有兩點:

(1):在這個級別上去擔心效能是沒有意義的,除非能證明這個方法正是造成效能問題的源頭。

(2):對於不返回任何型別呼叫,返回同一個零長度陣列是可能的

簡而言之:返回型別為陣列或者集合的方法沒有理由返回null,而不是返回一個零長度的陣列或者集合。這種習慣做法(指返回null)很有可能是從C程式設計語言中沒有沿襲過來的,在C語言中,陣列長度是與實際的陣列分開返回的。在C語言中,如果返回的陣列長度為零,再分配一個數組就沒有任何好處。