trozen:
¿Cuál es el enfoque recomendado:
private final List<Object> list = new ArrayList<>();
public List<Object> getListView() {
return Collections.unmodifiableList(list);
}
o
private final List<Object> list = new ArrayList<>();
private final List<Object> listView = Collections.unmodifiableList(list);
public List<Object> getListView() {
return listView;
}
Este último se ahorra en la creación de objetos, pero ¿merece la pena el esfuerzo?
Mureinik:
La creación de una unmodifiableList
es una operación O (1) (en esencia, se crea una instancia java.util.Collections$UnmodifiableList
y assings su lista a un DataMember).
A menos que tenga una muy referencia convincente de su caso especial que muestra el contrario, es probable que no vale la pena la molestia de almacenamiento en caché de la misma.