Which one is the recommended approach:
private final List<Object> list = new ArrayList<>();
public List<Object> getListView() {
return Collections.unmodifiableList(list);
}
or
private final List<Object> list = new ArrayList<>();
private final List<Object> listView = Collections.unmodifiableList(list);
public List<Object> getListView() {
return listView;
}
The latter saves on object creation, but is it worth the effort?
Creating an unmodifiableList
is an O(1) operation (essentially, it instantiates a java.util.Collections$UnmodifiableList
and assings your list to a datamember).
Unless you have a very convincing benchmark of your special-case that shows the contrary, it probably just isn't worth the hassle of caching it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With