El título lo dice todo. Es una pregunta simple en realidad. Solo quería entender cómo funcionan realmente estas dos cosas. ¿Cuál sería la mejor opción para devolver una lista vacía inmutable? ¿Sería mejor hacer Collections.emptyList() o ImmutableList.of() o hay una tercera y mejor opción?
Yo usaría Collections.emptyList() porque
1) ¿Por qué usar una biblioteca de terceros cuando ya tiene la misma en JDK?
2) Collections.emptyList() devuelve una Collections.EMPTY_LIST de clase privada realmente simple (ver Collections.java en JDK).
Mientras que ImmutableList.of() devuelve una lista inmutable de Guava con toda la funcionalidad como si realmente contuviera objetos, inicializándolo con el new Object[0] .
Si solo necesita la lista vacía, entonces no necesita la funcionalidad ImmutableList .