Để tránh không mong muốn NullPointerException.
Trong mã của bạn, bạn có thể trả về một ArrayList "trống" thay vì trả về null. Tuy nhiên, theo cách đó, bạn sẽ tiếp tục tạo ra các đối tượng MỚI (với dung lượng mặc định là 10) trên mỗi lần thực hiện mà không phải là cách tiếp cận hiệu quả của bộ nhớ. Thay vào đó nếu bạn trả về emptyList, cùng một cá thể sẽ được trả về trên mọi lời gọi. Bằng cách này, nó giúp bạn tiết kiệm từ NullPointerException không mong muốn một cách hiệu quả hơn.Dưới đây là ảnh chụp từ Javadoc cho emptyList:
/**
* Returns the empty list (immutable). This list is serializable.
*
* <p>This example illustrates the type-safe way to obtain an empty list:
* <pre>
* List<String> s = Collections.emptyList();
* </pre>
* Implementation note: Implementations of this method need not
* create a separate <tt>List</tt> object for each call. Using this
* method is likely to have comparable cost to using the like-named
* field. (Unlike this method, the field does not provide type safety.)
*
* @see #EMPTY_LIST
* @since 1.5
*/
Nguồn
2012-09-26 08:55:14
Có thể trả lời [ở đây] (http://stackoverflow.com/questions/5552258/collections-emptylist-vs-new-instance) –
tính bất biến là tốt cho bạn ! –